XP が組み込まれたシステムがあり、COM2 はハードウェア RS485 ポートです。
私のコードでは、RTS_CONTROL_TOGGLEを使用して DCB を設定しています。私はそれが言うことをするだろうと思います...書き込み空の割り込みが発生したら、カーネルモードでRTSをオフにします。それは事実上瞬時に行われるはずです。
代わりに、PC がメッセージの終了よりも 1 ~ 8 ミリ秒長くバスを駆動していることをスコープで確認します。話しているデバイスは、約 1 ~ 5 ミリ秒で応答しています。だから...通信の破損が多発しています。いいえ、ターゲットの応答時間を変更する方法はありません。
RS232 ポートに接続し、スコープを TX および RTS ラインに接続したところ、同じ結果が得られました。RTS ラインは、メッセージが送信されてから 1 ~ 8 ミリ秒高いままです。
また、FIFO をオフにするか、FIFO の深さを 1 に設定しようとしましたが、効果はありませんでした。
何か案は?「SendFile、clear RTS」サイクル中に、REALTIME優先度でユーザーモードからRTSラインを手動で制御しようとしています。これがうまくいくという希望もあまりありません。これは、ユーザー モードでは実行しないでください。