我有一个串口设备,我想使用 Linux 命令行来测试它。
我可以使用 stty 和 echo 将命令发送到串行端口,但是当设备响应时,我无法读取来自串行端口的内容。我在用
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0
向设备发送命令。设备运行并在 300 毫秒内发送响应。如何使用命令行将该响应打印到控制台?
答案1
与输出相同。例子:
cat /dev/ttyS0
或者:
cat < /dev/ttyS0
第一个示例是一个应用程序,它打开串行端口并将其读取的内容中继到其stdout
(您的控制台)。第二个是将串行端口流量定向到您喜欢的任何应用程序的 shell;然后,这个特定的应用程序将其转发stdin
到它的stdout
.
为了更好地了解流量,您可能更喜欢十六进制转储:
od -x < /dev/ttyS0
答案2
我正在监视 arduino uno 的输出,例如:
screen /dev/ttyUSB0 9600