シリアルインタフェースから読み込む

シリアルインタフェースから読み込む

出力を読み取る以外に、データを読み取る必要がある実行中のシリアルデバイスがあります(デバイス自体をまったく制御できません)。 WindowsでHyperTerminalを使用すると、昨日は意味のあるトラフィックを検出できました。私はcat(またはデータを読み取ってstdoutとして印刷するために私自身の小さなCプログラム)を使用します。

現在のcat / myプログラムを使用すると、破損したデータバージョンのみを取得できますが、HyperTerminalはまだデータを表示します。

何が間違っている可能性がありますか?昨日はうまくいきましたが、今日はうまくいかないのはなぜですか?

私が読んでいるファイルは次のとおりです。/dev/ttyUSB1

*私はプログラムと猫を同時に実行せずに一度に1つずつ実行することに注意してください。

答え1

SOの誰かが正しい方向を示唆した。問題は、私が必要とする値とは異なる値に設定された転送速度にありました。

ボーレートの確認: stty -F /dev/ttyUSB1
ボーレート設定:( stty -F /dev/ttyUSB1 57600私の場合、57600は私のデバイスに必要なボーレートです)

今それは魅​​力のように動作します。

答え2

シリアルポートは特に奇妙な獣です。 Old Schoolターミナルエミュレーションプログラムを使用する必要があります。私はtipそれが最高だと思いましたが、もはやソースを持っている人がいないようです。cuUUCPが付属していますが、設置と構成が非常に面倒なので、まったく気にしないでください。

Google 検索の高速化により、ユーザーが使用する傾向があることがわかります。ミニコンピュータ最近では。スタックオーバーフローの質問ですminicomこれは、少なくともUSBシリアルデバイスとの通信に使用される場合、ある程度効果があるようです。

結果がどうなるか教えてください。質問を更新するか、コメントなどを投稿してください。

関連情報