シリアルデバイス出力はGNU画面では大丈夫に見えますが、catを使用すると壊れます。

シリアルデバイス出力はGNU画面では大丈夫に見えますが、catを使用すると壊れます。

私はシリアルデバイスを持っています(Omega RDXL4SD熱電対リーダー、通信詳細22ページ)ここ)FTDIケーブルを介してRaspbianを実行しているRaspberry PiのUSBポートに接続します。 /dev/ttyUSB0に表示され、呼び出して表示した場合

pi@raspberrypi:~ $ screen /dev/ttyUSB0 9600

出力は複数の数値です。 1行を吐くたびに、カーソルは行の先頭に戻って上書きされるため、画面には一度に1行の数字しか表示されません。

catこれで同じ効果を得るためにを使用したいのですが、screenこれを行うと疑問符付きのボックスが表示されます。

pi@raspberrypi:~ $ cat /dev/ttyUSB0
4401010000

私はこれが一種のエンコーディングの問題だと思います。screenVSがこれらの文字をどのように異なる方法で解釈できるかを説明しcatたり、他のトラブルシューティング手順を提案したりできますか?

役立つ場合:

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l 
GNU/Linux

pi@raspberrypi:~ $ stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
min = 100; time = 2;
-icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo

編集:@meuhは、特殊文字を表示するために-vetを追加することを提案しました。今の兆候を理解したので、特定の問題が効果的に解決されました!それでも、ここで何が起こっているのかを説明するのは好きではありません。

pi@raspberrypi:~ $ cat -vet /dev/ttyUSB0
^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000

ベストアンサー1

結果 ^X 文字 (つまり、0x18 バイト) は、このプロトコルで文書化されていない NaN です。複数の熱電対ポートがあり、1つの熱電対のみを接続すると、温度値を含む線と^ Xで終わる複数の線が表示されます。

何らかの理由で、私の端末のcatはこれらの文字をボックスとして表示しますが、画面にはまったく表示されません。

おすすめ記事