我需要将二进制文件发送到rs232设备(打印机),它总是不能接受数据,因此它有BUSY输出信号,我连接到CTS引脚。
我尝试将它与minicom
一起使用,硬件流控制工作得很好。但我无法使用minicom发送原始文件,它的工作方式错误,我认为minicom不喜欢文件中的零。
另一方面,我尝试使用cat file > /dev/ttyS5
,以及stty -F /dev/ttyS5 clocal
或stty -F /dev/ttyS5 crtscts
。这些都不起作用:硬件控制根本不起作用,数据传输只是停止(通常在TXD上的空间状态时,在字节的中间位置!)并且在BUSY发布后永远不会继续。行为不取决于我使用的clocal
或crtscts
。
并且cat file > /dev/ttyS5
永远不会等待,即使BUSY在此命令之前处于活动状态。
请注意,使用minicom,我确保我有正确的连接,支持内核和RS232 PCI-E板上的RTS / CTS等。
所以问题是,如何使用硬件流控制从命令行进行正确的二进制文件传输?感谢。
答案 0 :(得分:3)
这个人说他有一个用minicom传输二进制数据的解决方案: http://www.dannysung.com/wmain/linux/tips/sending-binary-files-via-minicom/
我不明白为什么他的小脚本与cat file >/dev/ttySX
不同,但也许你可以尝试一下。
答案 1 :(得分:0)
当我进行那种测试(20年前)时,我使用了unix dd命令。在你的linux风格中找到一个类似的。