从linux命令行读取串口

从linux命令行读取串口

我有一个串口设备,我想使用 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

相关内容