cat /dev/ttyUSB0
USBシリアルアダプタを介して発生するシリアル通信を監視するために、これと同様のものを使用したいと思います。
TXラインを使用してLinuxからシリアルデバイスにシリアルコマンドを正常に送信できますが、シリアルデバイスecho "blahblah" | sudo tee /dev/ttyUSB0
から返された出力を表示したいと思います。予想される応答は通常エコーメッセージですが、時にはより長いメッセージかもしれません。
cat /dev/ttyUSB0
別のターミナルウィンドウで開くと、実行するまですべてが静かですecho "blahblah" | sudo tee /dev/ttyUSB0
。その時点で、forever
catを実行するターミナルウィンドウで「blahblah」(「\ r \ n」ビットで終了)が繰り返されます。 RXケーブルを抜くと停止し、再接続しても再起動しません。
私はシリアルデバイスのRX出力に接続されたシリアルロジックアナライザを使用したので、この冗長性はアーティファクトであると確信しています。一つ無限エコーシーケンスの代わりにエコーコマンド。
echo "blahblah" > /dev/ttyUSB0
参考までに、初期シリアルデータ転送を使用して同じ動作を得ました。
ベストアンサー1
私はこれが百万年であることを知っていますが、今日この問題に直面しました。デフォルトでは、「スクリーン」を使用してシリアルデバイスに接続してから切断すると、デバイスにエコーをかけてラインcat
スパムなしで出力を取り戻すことができます。画面は設定をttyに渡していますが、プログラムでこれを行う方法が必要です。 「meuh」を叫んでください。正しい方向を教えてくれましたから。私の場合は、「stty」を使用して事前に次のコマンドを実行しました。
stty -echo -opost -F /dev/ttyUSB0
' -echo
'スパムスパム改行を停止し、' -opost
'私の場合は、不要な単一改行を停止します。その後、ターミナルウィンドウで次のコマンドを実行してテストを続行できます。
# cat /dev/ttyUSB0
次に、別の端末ウィンドウで次のコマンドを実行します。
# echo "This is a test - $(date)" > /dev/ttyUSB0
最初の端末ウィンドウで予想される出力を受け取りました。
# cat /dev/ttyUSB0
This is a test - Mon 21 Feb 2022 11:27:40 AEDT
役に立ったことを願っています!