4

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

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

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

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

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

4

2 回答 2

4

有人说他有一个使用 minicom 传输二进制数据的解决方案: http ://www.dannysung.com/wmain/linux/tips/sending-binary-files-via-minicom/

我不明白为什么他的小剧本与众不同,cat file >/dev/ttySX但也许你可以试一试。

于 2014-01-11T22:42:13.193 回答
0

当我进行这种测试时(20 年前),我使用了 unix dd 命令。在你的 linux 风格中找到一个类似的。

于 2014-01-11T22:53:39.527 回答