无法使用minicom发送角色

时间:2010-10-12 09:34:05

标签: c unix terminal serial-port

我正在使用minicom通过串行链接连接到目标(sparc处理器的UART链接)。 使用gtkterm或cutecom,我可以连接,读取和发送字符。它们唯一的问题是它们都在每个LF字符后插入空行,并且: -gtkterm无法将输出记录到文件中 -cutecom在将输出记录到文件后没有“刷新”(它被延迟,并且只在每16k串数据之后刷新)

Minicom,它是基于控制台的,可以解决这些问题(并且它不会插入空行......),但我仍然无法发送任何字符,并且不明白为什么! 当我按下一个键(例如,“0”+ Return)时,会写入(如果我启用本地回显),但没有任何反应(当它与gtkterm和cuteterm一起使用时)。 在我的程序中,我使用以下内容阅读:

`r = scanf("%d", &option);`

使用调试器,我发现该程序永远不会超过这一行......

有人有任何想法吗?

4 个答案:

答案 0 :(得分:46)

您可以尝试在minicom配置的串行端口设置中将“硬件流控制”选项设置为“否”。

在minicom docs中检查该选项的含义:)

答案 1 :(得分:4)

  1. 在设置端口下将硬件流控制设置为否可以帮助您。(minicom -s;进入串口设置;最后两行是硬件和软件流控制;只需设置NO)
  2. 打开minicom后打开echo( ctrl + A ,然后按E)检查是否发送了一些好主意。

答案 2 :(得分:2)

本地回声没有说明电线上的内容。它也可以是scanf()如何解释换行符。尝试使用getchar()创建一个程序,看看是否有任何输入,尤其是当您在不同的终端模拟器中按Enter键时会发生什么。

检查minicom中是否正确设置了所有波特率等设置。查看minicom的命令行参数,这样就可以直接指定选项。

答案 3 :(得分:0)

重新启动Linux机器可以为我解决该问题。

Minicom在工作,然后当我的同事不小心将板关闭时,它停止了输入。我试了一个小时。没有任何反应时,我重新启动了PC,瞧,它开始工作了。