我需要将二进制文件发送到 rs232 设备(打印机),它并不总是可以接受数据,因此它有 BUSY 输出信号,我连接到 CTS 引脚。
我尝试将它与 一起使用minicom
,并且硬件流控制工作得很好。但是我不能使用 minicom 发送原始文件,它工作错误我认为 minicom 不喜欢文件中的零。
另一方面,我尝试将cat file > /dev/ttyS5
, 与stty -F /dev/ttyS5 clocal
or一起使用stty -F /dev/ttyS5 crtscts
。这些都不起作用:硬件控制根本不起作用,数据传输只是停止(当TXD 上的空间状态卡住时,通常在字节中间!)并且在 BUSY 释放后永远不会继续。行为不取决于clocal
或crtscts
我使用。并且cat file > /dev/ttyS5
永远不要等待,即使在此命令之前BUSY 处于活动状态。
请注意,使用 minicom,我确保我有正确的连接,在内核和 RS232 PCI-E 板等中支持 RTS/CTS。
所以问题是,我如何使用硬件流控制从命令行进行正确的二进制文件传输?谢谢。