我有一个串行设备(Omega RDXL4SD 热电偶阅读器,此处为通讯详情第 22 页)通过 FTDI 电缆连接到运行 Raspbian 的 Raspberry Pi 上的 USB 端口。它出现在 /dev/ttyUSB0 并且如果我通过调用显示它,输出看起来很完美
pi@raspberrypi:~ $ screen /dev/ttyUSB0 9600
输出是几个数字。每次吐出一行时,光标就会回到行首并覆盖它,这样屏幕上一次只有一行数字。
现在,我想使用cat
,而不是screen
达到相同的效果,但是当我这样做时,我会得到带有问号的框:
pi@raspberrypi:~ $ cat /dev/ttyUSB0
4401010000
我认为这是某种编码问题。您能否解释一下这些字符在screen
vs中的解释方式可能有什么不同cat
,或者建议其他故障排除步骤?
如果有帮助:
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l
GNU/Linux
pi@raspberrypi:~ $ stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
min = 100; time = 2;
-icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo
编辑:@meuh 建议添加 -vet 来显示特殊字符。现在我知道了这些标志,我的特殊问题得到了有效解决!不过,我仍然不介意解释这里到底发生了什么。
pi@raspberrypi:~ $ cat -vet /dev/ttyUSB0
^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000