シリアルポートにデータを送信して回答を表示するにはどうすればよいですか?

シリアルポートにデータを送信して回答を表示するにはどうすればよいですか?

Linuxでは、コマンド文字列(一部のデータなど)をシリアルポート(制御文字を含む)に送信し、応答(しばしば制御文字も含めることができます)を受け取りたいと思います。

Linuxでできるだけ簡単にこれを行うにはどうすればよいですか?感謝を表現する例を見てください!

ベストアンサー1

Unixのすべてのデバイスはデバイスファイルにマッピングされ、シリアルポートは /dev/ttyS0 /dev/ttyS1... 。

/dev/ttyS1.

ls -l /dev/ttyS1

読み取りおよび書き込みアクセス権が必要であり、共有システムの場合は、誰にでも公開することでセキュリティに与える影響を考慮する必要があります。

chmod o+rw /dev/ttyS1

ファイルに書き込む非常にシンプルで粗い方法は、単純なechoコマンドを使用することです。

echo -ne '\033[2J' > /dev/ttyS1

そして読んでください

cat -v < /dev/ttyS1

catを1つの端末で実行し、2番目の端末でechoすることができます。

すべてが横説説である場合は、転送を開始する前に転送速度、ビット設定を設定する必要があります。sttyそうします。 !!sttyはstdinをデフォルトのファイル記述子として使用すると影響を受けます。

同等のコマンド。

stty 19200 < /dev/ttyS1
stty 19200 -F /dev/ttyS1

スクリプトとログを書くのに十分です。何を達成したいのか分かりません。

よりインタラクティブに使用するには、既定の設定方法は minicomこれまでに述べたすべてのことを行うプログラムを使用することです。 (おなじみのWindowsのHyperTerminalに似ています。)

screen中間ソリューションは、シリアルデバイスで実行できる端末プログラムを使用することです。

screen /dev/ttyS1

man screen man minicom man sttyより多くの情報を知りたい場合

おすすめ記事