從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

相關內容