在 Windows 中,我可以使用以下命令与串行端口设备通信:
mode com1: baud=9600 data=8 parity=n stop=1
copy con com1
alt+18alt+2ctrl+z
设备开始请求的操作。
当我尝试从独立的 Debian 上完成相同的操作时盒子或来自 Debian VirtualBox同一台 Windows 机器的实例,到目前为止我没有运气。
下面是等效的 Linux 命令(至少我是这么认为的):
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb
echo '\x12\x02' > /dev/ttyS0
什么都没有发生。
我该怎么做?
最佳答案
如果要使用十六进制代码,则应添加 -e
选项以启用通过 echo 解释反斜杠转义(但结果与使用 echo
相同) Ctrl + R,Ctrl + B)。而作为 wallyk said ,您可能需要添加 -n
以防止输出换行符:
echo -en '\x12\x02' > /dev/ttyS0
还要确保 /dev/ttyS0
是您想要的端口。
https://stackoverflow.com/questions/8877269/