在 Linux 下調試串口,是個麻煩的事情,尤其是嵌入式環境,很多時候要借助另一台設備來進行調試。
這里琢磨出一種可行的串口調試方法,可以簡單的查看串口是否在正確工作。
1. 短接 tx 和 rx,讓串口自發自收 (DB9 插頭上的 2 和 3 腳,不管有沒有交叉;反正交叉了也只是 2 和 3 換了個位置,不影響本測試)
2. 使用 "cat /dev/ttyUSB0 &" 在后台監視串口設備 /dev/ttyUSB0 的輸出
3. 使用 echo “hello” > /dev/ttyUSB0 給串口寫數據,這里的數據是字符串 “hello“
如此一來,如果串口是正常工作的,那么,指令 3 執行完之后,屏幕上會打印出一個 hello,此為該串口自發自收的數據;如果設備已經掛掉了,那么不會有任何反應。
如果想進一步找出串口的 tx 和 rx 對應哪個腳,則需要另外一個設備。
不過,有多個串口的話,我們可以使用上面的方法:先用上面方法驗證兩個串口工作正常;然后,分別短接兩個串口的 2 腳或 3 腳,監視其中一個的接收(比如 ttyUSB0,cat /dev/ttyUSB0 &);從另一個串口發送說據(比如 ttyUSB1,echo “hello” > /dev/ttyUSB1);如果成功接收,則此時短接線 ttyUSB1 側為 tx,ttyUSB0 側為 rx;若沒有成功,可以嘗試其它組合,並繼續驗證。