我正在使用minicom通过串行链接连接到目标(sparc处理器的UART链接)。 使用gtkterm或cutecom,我可以连接,读取和发送字符。它们唯一的问题是它们都在每个LF字符后插入空行,并且: -gtkterm无法将输出记录到文件中 -cutecom在将输出记录到文件后没有“刷新”(它被延迟,并且只在每16k串数据之后刷新)
Minicom,它是基于控制台的,可以解决这些问题(并且它不会插入空行......),但我仍然无法发送任何字符,并且不明白为什么! 当我按下一个键(例如,“0”+ Return)时,会写入(如果我启用本地回显),但没有任何反应(当它与gtkterm和cuteterm一起使用时)。 在我的程序中,我使用以下内容阅读:
`r = scanf("%d", &option);`
使用调试器,我发现该程序永远不会超过这一行......
有人有任何想法吗?
答案 0 :(得分:46)
您可以尝试在minicom配置的串行端口设置中将“硬件流控制”选项设置为“否”。
在minicom docs中检查该选项的含义:)
答案 1 :(得分:4)
答案 2 :(得分:2)
本地回声没有说明电线上的内容。它也可以是scanf()如何解释换行符。尝试使用getchar()创建一个程序,看看是否有任何输入,尤其是当您在不同的终端模拟器中按Enter键时会发生什么。
检查minicom中是否正确设置了所有波特率等设置。查看minicom的命令行参数,这样就可以直接指定选项。
答案 3 :(得分:0)
重新启动Linux机器可以为我解决该问题。
Minicom在工作,然后当我的同事不小心将板关闭时,它停止了输入。我试了一个小时。没有任何反应时,我重新启动了PC,瞧,它开始工作了。