[英]Linux read form serial port - fork workaround & how to change EOL?
I'm trying to send data via serial port and receive the response. 我正在尝试通过串行端口发送数据并接收响应。 Currently I'm looping the interface physically to emulate the device. 目前,我正在物理上循环接口以模拟设备。
I have to change the EOL to be CR not LF. 我必须将EOL更改为CR而不是LF。 If I try and use \\xD
instead of \\xA
nothing happens: 如果我尝试使用\\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
Thank you for your help! 谢谢您的帮助!
(edited: part about fork workaround moved to separate topic). (已编辑:有关fork解决方法的部分已移至单独的主题)。
Below is the way to change the EOL: 以下是更改EOL的方法:
perl -e 'print "Hello World\x0d"'
Shell version 外壳版本
echo -en "foo\015">r.txt
xxd r.txt
0000000: 666f 6f0d foo.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.