
出力の読み取り以外にデータを読み取る必要があるシリアル デバイスを実行しています (デバイス自体を制御することはできません)。Windows のハイパー ターミナルを使用すると、意味のあるトラフィックを検出できます。昨日、cat (またはデータを読み取って stdout に印刷する独自の小さな C プログラム) を使用したところ、正常に動作しました。
現在、cat/my program を使用すると、破損したデータしか取得できませんが、ハイパーターミナルでは依然としてデータが表示されます。
一体何が間違っているのでしょうか? 昨日はうまくいったのに、今日はうまくいかないのはなぜでしょうか?
私が読んでいる/読んでいたファイルは/dev/ttyUSB1
*プログラムと cat の両方を実行することはなく、一度にどちらか一方のみを実行することに注意してください。
答え1
SO の誰かが正しい方向を示唆していました。問題はボーレートにあり、必要な値とは異なる値に設定されていました。
ボーレートを確認するには:
stty -F /dev/ttyUSB1
ボーレートを設定するには:
stty -F /dev/ttyUSB1 57600
(私の場合、デバイスに必要なボーレートは 57600 です)
今では完璧に機能しています。
答え2
シリアル ポートは特に奇妙なものです。古い端末エミュレーション プログラムを使用することをお勧めします。以前はこれが最良だと思っていましたtip
が、もうソースを持っている人はいないようです。UUCPcu
が付属していますが、インストールと設定が非常に面倒なので、気にする必要はありません。
グーグルでちょっと調べてみると、人々はミニコム最近。Stack Overflowの質問です少なくともminicom
USB シリアル デバイスとの通信に使用する場合、何らかの関係があるようです。
結果がどうなったか教えてください。質問を更新するか、コメントなどを残してください。