3

RS-485 半二重シリアル回線を介してデバイスと通信しようとしています。デバイスにコマンドを送信すると、デバイスはコマンドを処理し、処理後すぐに応答します。問題は、デバイスの応答を受信するために、コマンドを送信した直後に RS-485 チップを受信モードにする必要があることです。しかし、UART の書き込み機能は非ブロッキング IO 操作であるため、RS-485 チップをいつ受信モードにするかを知る方法がありません。

すべてのバイトが実際にシリアル ライン経由で送信されない限り関数が終了しないように、UART へのブロッキング書き込み操作を行うにはどうすればよいですか?

4

1 に答える 1

0

ハードウェア プラットフォームは何ですか? RTS 信号を自動的に設定するようにハードウェアを構成することにより、以前 (atmel AT91SAM9260) でその問題を解決しました。カーネルのシリアル ドライバを変更しない限り、これが最善の策です (場合によっては、それを実行しなくても可能です)。

于 2013-02-14T06:13:00.850 に答える