我正在尝试通过串行端口发送数据并接收响应。目前我正在物理上循环接口来模拟设备。
我得把EOL改成CR而不是LF。如果我尝试使用\xD而不是\xA什么都不会发生:

# stty -F /dev/ttyUSB0 eol ^M eol2 ^M eof ^M
# cat /dev/ttyUSB0 &
[1] 7891
# echo -ne "foo\xD"
# echo -ne "foo\xA"
foo

谢谢你的帮助!
(编辑:关于fork解决方案的部分移动到单独的主题)。

最佳答案

以下是更改EOL的方法:

perl -e 'print "Hello World\x0d"'

外壳版本
echo -en "foo\015">r.txt
xxd r.txt
0000000: 666f 6f0d                                foo.

关于linux - Linux从串行端口读取- fork 解决方法和如何更改EOL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34809802/

10-13 06:18