tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: VB2010のSerialportの受信イベントについて
投稿日: 2011/11/24(Thu) 18:56
投稿者TANTAN
>   フロー制御なしにすると、制御線の変化によるイベントは発生
>   しなくなりますが・・・
>
>   受信イベントの先頭で必ず『データ受信のイベント』である事
>   を確認し、尚且つ受信バッファにデータがあることを条件にし
>   て、Readすると言う流れを作って下さい。
>
オショウさん、回答ありがとうございます。

フロー制御に関しては、「制御無し」で作っています。
イベントの確認はしておりませんでしたので、また調べたいと思います。
データの有無の確認については、SerialPort.BytestoReadで1バイト以上あることを
確認してからReadの処理に入っていくようにしています。

自分の考えでは、ReceivedBytesThresholdを指定して、受信イベントが起こりReadすれば
ReceivedBytesThreshold分のReadは保障されていると思っていたのですが、
今回、特定のアドレスに対するRead命令が、途中までしか読み込んでくれなくて、後半は
全て配列初期値の「0」のままになってしまいシステムが動かなくなったりしていました。

受信イベントが発生しても、すぐに全てのデータは読めないということでしょうか?

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。