タイトル : Re^2: VB2010のSerialportの受信イベントについて 投稿日 : 2011/11/24(Thu) 18:56 投稿者 : TANTAN
> フロー制御なしにすると、制御線の変化によるイベントは発生 > しなくなりますが・・・ > > 受信イベントの先頭で必ず『データ受信のイベント』である事 > を確認し、尚且つ受信バッファにデータがあることを条件にし > て、Readすると言う流れを作って下さい。 > オショウさん、回答ありがとうございます。 フロー制御に関しては、「制御無し」で作っています。 イベントの確認はしておりませんでしたので、また調べたいと思います。 データの有無の確認については、SerialPort.BytestoReadで1バイト以上あることを 確認してからReadの処理に入っていくようにしています。 自分の考えでは、ReceivedBytesThresholdを指定して、受信イベントが起こりReadすれば ReceivedBytesThreshold分のReadは保障されていると思っていたのですが、 今回、特定のアドレスに対するRead命令が、途中までしか読み込んでくれなくて、後半は 全て配列初期値の「0」のままになってしまいシステムが動かなくなったりしていました。 受信イベントが発生しても、すぐに全てのデータは読めないということでしょうか? |