0

Rs232 ソフトウェア フロー制御 (別名 XOn/XOff) に関する一般的な質問があります。

.Net 実装 (およびネイティブの win32 api) はどちらも、WriteTimeout / ReadTimeout と呼ばれるプロパティを定義します。これは、ミリ秒単位の時間で、その後は通信が期限切れであると見なされます。

いいえ、私の問題は次のとおりです。デバイスに 5 バイトの文字列を送信すると、予想どおり、WriteTimeout が表示されません。これはどのように実装されていますか?ソフトウェアフロー制御について私が見つけたすべては、受信バッファがいっぱいになると XOFF が設定されるということです。再度受信する準備ができたら XOn。

しかし、私が見た動作から、私が送信した 5 バイトの情報を処理した後、デバイスが XON を送信し、ウィンドウが対応するイベントを生成するための情報を作成しているのではないかと思います。

では、2 線のみの RS232 実装で XON を送信するのはいつでしょうか? バッファがいっぱいで、受信を再開する場合のみ。または、処理したすべてのチャンクの後に「まだ準備ができている」ことを知らせるために?

実装方法は?

事前に乾杯&thx!

コーレルゴット

4

1 に答える 1

0

データを受信する準備ができたらいつでも送信してXONください (受信バッファが空かほぼ空です)。XOFFこれ以上受信データを受け入れられない場合はいつでも送信してください (受信バッファがいっぱいか、ほぼ満杯です)。このプロセスは、ウィキペディアのソフトウェア フロー制御ページに記載されています。

于 2012-04-04T08:59:00.623 に答える