从Windows,我可以使用以下命令与串行端口设备进行通信:
mode com1: baud=9600 data=8 parity=n stop=1 copy con com1 alt+18alt+2ctrl+z
设备开始请求的操作。
当我尝试从独立的debian盒子或同一Windows机器的debian virtualbox实例完成相同的操作时,到目前为止我还没有运气。
这是等效的linux命令(至少我这样认为)
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb echo '\x12\x02' > /dev/ttyS0
什么都没发生。
有人可以指导我正确的方向吗?
echo '\x12\x02'
不会被解释,并且会按字面意义将字符串写入\x12\x02(并添加换行符)到指定的串行端口。改为使用
\x12\x02
echo -n ^R^B
您可以通过在命令行上输入Ctrl``V``Ctrl``R和来构造它Ctrl``V``Ctrl``B。或者,使用编辑器键入脚本文件更容易。
Ctrl``V``Ctrl``R
Ctrl``V``Ctrl``B
该stty命令应该起作用,除非有其他程序干扰。一个常见的罪魁祸首是gpsd寻找插入的GPS设备。
stty
gpsd