我正在使用minicom通过串行连接与目标(sparc处理器的UART链接)进行通信。
使用gtkterm或cutecom,我可以连接、读取和发送字符。它们唯一的问题是在每个LF字符之后都会插入空行,并且:
-gtkterm无法记录输出到文件
-cutecom在记录输出到文件后没有“flush”(它会延迟,并且只有在16k数据包后才会被刷新)
`r = scanf("%d", &option);`
通过调试器,我发现程序永远不会超过这一行...
有人有什么想法吗?
我正在使用minicom通过串行连接与目标(sparc处理器的UART链接)进行通信。
使用gtkterm或cutecom,我可以连接、读取和发送字符。它们唯一的问题是在每个LF字符之后都会插入空行,并且:
-gtkterm无法记录输出到文件
-cutecom在记录输出到文件后没有“flush”(它会延迟,并且只有在16k数据包后才会被刷新)
`r = scanf("%d", &option);`
通过调试器,我发现程序永远不会超过这一行...
有人有什么想法吗?
您可以尝试在minicom配置的串行端口设置中将“Hardware Flow Control”选项设置为“NO”。
请查阅minicom文档以了解该选项的含义 :)
本地回显并不能说明数据是否已经发送出去。scanf()如何解释换行符也可能会影响结果。可以尝试使用getchar()创建一个程序,并查看是否能够获取输入,特别是当在不同的终端仿真器中按下回车键时会发生什么。
检查minicom中所有的波特率等设置是否正确。查看minicom的命令行参数,以便可以直接指定选项。
重启我的Linux机器解决了我的问题。
Minicom之前一直在工作,但当我的同事意外关闭板子后,它停止接收输入。我尝试了一个小时的所有方法,但都无济于事。当什么都不起作用时,我重启了电脑,结果它开始工作了。