我有一個串口設備,我想使用 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