通过 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 或中间的任何东西 —— 这只是通过串行线路的普通 minicom,仅此而已。

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、用于在行内导航的箭头等。

相关内容