последовательный порт через minicom: может ли minicom использовать редактирование строк (т.е. функциональность readline)?

последовательный порт через minicom: может ли minicom использовать редактирование строк (т.е. функциональность readline)?

Я успешно общаюсь с платой, подключенной через последовательный порт к моему ПК. Я могу как отправлять, так и получать байты - но для интерактивных приложений, работающих на плате, которые пытаются считывать входные данные со своего stdin, 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

После того, как я ввожу букву «а», я не могу ее удалить.

Обратите внимание, что здесь нет оболочки или чего-то промежуточного — это обычный 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, стрелки для навигации внутри строки и т. д.

Связанный контент