minicom 経由のシリアル ポート: minicom は行編集 (readline 機能など) を使用できますか?

minicom 経由のシリアル ポート: minicom は行編集 (readline 機能など) を使用できますか?

私はPCのシリアルポートインターフェースを介して接続されたボードと通信することに成功しました。バイトの送受信はできますが、ボード上で実行され、stdinから入力を読み取ろうとする対話型アプリケーションの場合、minicomは読み込まれた行- のような編集機能:

// code running on the embedded board
printf("Reading a number: ")
scanf("%d", &i);

minicom の場合:

$ minicom -D /dev/ttyS0 -b 38400
...
Reading a number: 1a^H

「a」を入力すると、バックスペースでその文字を消すことができません。

ここにはシェルやその間のものは何もないことに注意してください。これはシリアル ライン上の単純な minicom であり、それ以上のものではありません。

screen /dev/ttyS0 38400正常に動作するようです。行を編集して、ENTER キーを押したときにのみシリアルに送信できます。

minicom も同様に設定できますか?

答え1

単純なターミナル プログラムに readline の高度な行編集機能を追加するには、の使用を検討してください。 は非常に複雑な UI を備えているため、 が問題なく動作するrlwrapかどうかはわかりません。minicomうまく動作しない場合は、 を試してくださいpicocom

答え2

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

次に、検索には CR、次へ/前のコマンドには矢印、行内のナビゲーションには Alt-b、Alt-f、CA、Ce、矢印などを使用できます。

関連情報