透過 minicom 的序列埠:minicom 可以使用行編輯(即 readline 功能)嗎?

透過 minicom 的序列埠:minicom 可以使用行編輯(即 readline 功能)嗎?

我正在成功地與透過串行埠介面連接到我的 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

考慮使用將rlwrapreadline 的高級行編輯功能新增到任何簡單的終端程式中。我不確定minicom它是否可以正常工作,因為它具有相當複雜的用戶介面;如果沒有,請嘗試picocom

答案2

apt install socat rlwrap
rlwrap --  socat  -  /dev/ttyUSB1,crnl

然後,您可以使用 CR 進行搜索,使用箭頭表示下一個/上一個命令,使用 Alt-b、Alt-f、CA、Ce、用於在行內導航的箭頭等。

相關內容