web-dev-qa-db-ja.com

Linuxコマンドラインからシリアルから読み取る

Linuxコマンドラインを使用してテストしたいシリアルポートデバイスがあります。

コマンドをシリアルポートに送信するためにsttyとechoを使用できますが、デバイスが応答すると、シリアルポートから送信されているものを読み取る方法がありません。使っています

stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0

コマンドをデバイスに送信します。デバイスが動作し、300ミリ秒で応答を返します。コマンドラインを使用してコンソールにその応答を出力するにはどうすればよいですか?

53
erin c

出力と同じ。例:

cat /dev/ttyS0

または:

cat < /dev/ttyS0

最初の例は、シリアルポートを開き、そこから読み取ったものをstdout(コンソール)に中継するアプリです。 2つ目は、シェルがシリアルポートトラフィックを任意のアプリに転送することです。この特定のアプリは、そのstdinstdoutに中継するだけです。

トラフィックを見やすくするために、16進ダンプを使用することをお勧めします。

od -x < /dev/ttyS0
61
Jirka Hanika