
我正在成功地與透過串行埠介面連接到我的 PC 的板進行對話。我可以發送和接收字節 - 但對於在板上執行的交互式應用程序,請嘗試從其標準輸入讀取輸入,minicom 似乎不提供任何類型的閱讀線-類似編輯功能:
// code running on the embedded board
printf("Reading a number: ")
scanf("%d", &i);
在迷你電腦中:
$ minicom -D /dev/ttyS0 -b 38400
...
Reading a number: 1a^H
一旦輸入“a”,我就無法在其上退格。
請注意,這裡沒有 shell 或任何東西 - 這是串行線路上的普通小型計算機,僅此而已。
screen /dev/ttyS0 38400
似乎工作正常 - 允許我編輯該行,並且僅在按 ENTER 時將其發送到串行。
minicom 可以設定做同樣的事情嗎?
答案1
考慮使用將rlwrap
readline 的高級行編輯功能新增到任何簡單的終端程式中。我不確定minicom
它是否可以正常工作,因為它具有相當複雜的用戶介面;如果沒有,請嘗試picocom
。
答案2
apt install socat rlwrap
rlwrap -- socat - /dev/ttyUSB1,crnl
然後,您可以使用 CR 進行搜索,使用箭頭表示下一個/上一個命令,使用 Alt-b、Alt-f、CA、Ce、用於在行內導航的箭頭等。