web-dev-qa-db-ja.com

minicomは着信した改行(\ n)をCR + LFに「永久に」変換できますか?

USB接続のシリアルポートを介して改行で終了する文字列を送信するマイクロコントローラーデバイスがあり、(これまでのところ)minicomバージョン2.6を使用して/dev/ttyACM0から読み取っています。端末アプリケーションを行折り返し用に設定しましたが、シリアルデバイスから改行文字を受け取ったときに次の行の先頭に移動したいのですが。 minicomはそれを行うことができますか?

[〜#〜] edit [〜#〜]stty /dev/ttyACM0 ...,inlcrscreen /dev/ttyACM0 ...,inlcrなど、私が知っている方法も試してみました。改行をキャリッジリターン+ラインフィード(CR + LF)に変換し、これらのいずれも機能しない。他のオプションも試しました(ocrnl、ロジックが間違っている場合はnl-nlなど)。何も機能せず、理由がわかりません。

ああ、私はManjaro 16.06-rc1を実行しています。

11
user86969

十分に長くかかったが、ようやくここに来た!絶えず押し続ける煩わしさを回避するために何をすべきかを理解するために、ミニコムのソースコードをダウンロードする必要がありました Ctrl+Z、 U... ここにあります。

minicomは、パラメーターを構成ファイルに保存します。構成ファイルのデフォルトは$HOME/.minirc.dflです。次の行を文字に入力します。

pu addcarreturn    Yes

そしてminicomはすべての入力行に復帰を追加します。そもそもなぜそのオプションと設定ファイルが一緒に保存されなかったのかはわかりませんが、いや、今は気にしません!

puの後のすべてのオプションは正確に16文字を取り、右側にスペースを埋め込む必要があることに注意してください。

9
user86969

回答:
minicomCtrl+A Zを押します。メニューが表示されます。次に、U( "Add Carriage Ret")を押します。minicomは、CRシンボルを各LFシンボルに自動的に追加します。

この機能をオフにするために、もう一度それを行うことができます。

回避策:
"\r\n"で終わる行をマイクロコントローラーから送信してみてください。
\rキャリッジリターンを意味します(ASCIIコード13または0xd)
\nは、改行または改行(ASCIIコード10または0xa)を意味します

4
v_2e