在使用 minicom 進行序列埠除錯或查看嵌入式系統 Log 時,常會遇到鍵盤完全無法輸入、按 Enter 鍵無反應的情況。這通常不是軟體故障,而是序列埠設定中「硬體流控」選項被誤開啟所導致。本文詳細說明如何透過選單介面快速關閉該選項,恢復正常輸入功能。
啟動 minicom 連線後,螢幕顯示訊息正常,但鍵盤輸入無任何回應,無法發送指令、無法換行,彷彿終端機被鎖死。重新啟動程式、重新插拔 USB 轉序列埠纜線均無效。
minicom 的序列埠設定中,Hardware Flow Control(硬體流控) 若設為 Yes,會要求 RTS/CTS 訊號線就緒才允許傳輸。若硬體連線未接腳或對端不支援,鍵盤輸入資料將無法送出,造成「收得到、送不出」的假死狀態。
sudo minicom -s
將出現主選單:
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols |
| Serial port setup | ← 選擇此項
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
| Exit from Minicom |
+--------------------------+
選擇 Serial port setup 後,畫面顯示:
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyS1 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : Yes ← 問題關鍵,預設或誤設為 Yes |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
Yes 切換為 No。minicom 即可正常輸入指令。/dev/ttyUSB0 等 USB 序列埠,裝置名稱請依實際情況調整(選單項目 A)。/etc/minicom/minirc.dfl 或使用者家目錄 ~/.minirc.dfl。完成上述步驟後,鍵盤輸入即可恢復正常,您可以繼續進行嵌入式開發、核心除錯或設備設定作業。