0

通信しようとしているシリアル デバイスがあります。このデバイスは、コマンド文字列が「\r」で終了すると、完全なコマンドが送信されたことを認識します。したがって、典型的なコマンド文字列は "COMMAND \r" のようなものです。

キャリッジ リターンがデバイスに送信されるように stty を構成するのに問題があります。現在、デバイスはどのコマンドにも応答しないため、デバイスへの入力がまだ「ハング」しているようです。

ターミナルをバイパスする簡単な C コードをいくつか書きましたが、そこでデバイスからの応答を正常に引き出すことができます。これが、ターミナルでコマンドが適切に終了していないと思う理由です。+onlcr- 、などのさまざまな順列を試してみましたが+icanon、役に立ちませんでした。私が知る限り、ボーレート、パリティ、データ ビット、スタート ビット、ストップ ビットはすべて適切に設定されています。

この問題をデバッグするにはどうすればよいですか?

4

2 に答える 2

0

プラットフォーム(マシン)とは?OSとは何ですか?

出力をフラッシュしようとしましたか

fflush( FILE * FP );
于 2011-10-10T20:48:56.417 に答える
0

COMMAND\r\n を試しましたか? デバイスは何ですか?

于 2014-03-19T22:08:06.303 に答える