我正在成功地与通过串行端口接口连接到我的 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
考虑使用rlwrap
readline 的高级行编辑功能添加到任何简单的终端程序。我不确定minicom
它是否可以正常工作,因为它具有相当复杂的用户界面;如果没有,请尝试picocom
。
答案2
apt install socat rlwrap
rlwrap -- socat - /dev/ttyUSB1,crnl
然后,您可以使用 CR 进行搜索,使用箭头表示下一个/上一个命令,使用 Alt-b、Alt-f、CA、Ce、用于在行内导航的箭头等。