我正在开发一个应用程序,它可以从串口读取数据并通过TCP连接发送数据,反之亦然。不幸的是,在读取串口数据时,它永远不会停止。它无法检测到EOF标记,也无法检测到EOL或其他特殊字符。
那么,在C和Linux中,如何检测串口的文件结束(或“连接结束”)呢?
那么,在C和Linux中,如何检测串口的文件结束(或“连接结束”)呢?
DCD
)的带外信号发出的。如果您使用的是空模拟电缆连接,那么这种情况永远不会发生。简单粗暴的解决方案: 在Linux、Unix或OSX上,只需运行“screen -L <serial_device> <baudrate>”即可。在另一端,以原始模式将文件输出到控制台。-L将其记录到一个文件中,其内容将是从另一端传输的文件。使用xxd检查内容以验证它们与源文件匹配。
检查您的串口配置:
stty -F /dev/ttySx -a
设置熟链接而不是原始链接:
stty -F /dev/ttySx cooked