Linux命令用硬件流控制将二进制文件发送到串口?

时间:2014-01-11 21:06:14

标签: linux command-line serial-port command flow-control

我需要将二进制文件发送到rs232设备(打印机),它总是不能接受数据,因此它有BUSY输出信号,我连接到CTS引脚。

我尝试将它与minicom一起使用,硬件流控制工作得很好。但我无法使用minicom发送原始文件,它的工作方式错误,我认为minicom不喜欢文件中的零。

另一方面,我尝试使用cat file > /dev/ttyS5,以及stty -F /dev/ttyS5 clocalstty -F /dev/ttyS5 crtscts。这些都不起作用:硬件控制根本不起作用,数据传输只是停止(通常在TXD上的空间状态时,在字节的中间位置!)并且在BUSY发布后永远不会继续。行为不取决于我使用的clocalcrtscts。 并且cat file > /dev/ttyS5永远不会等待,即使BUSY在此命令之前处于活动状态

请注意,使用minicom,我确保我有正确的连接,支持内核和RS232 PCI-E板上的RTS / CTS等。

所以问题是,如何使用硬件流控制从命令行进行正确的二进制文件传输?感谢。

2 个答案:

答案 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风格中找到一个类似的。