掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シリアル通信で区切り子を待つには? (ID:40090)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
データが揃う可能性があるのは、あくまでも、受信したときだけのはずです。そして、受信したなら受信イベントが発生しているはずです(タイマで回る必要は無いです) 単に、「1回の受信イベントで」待ち続けてはいけない ということです。 受信イベントでは、大まかに以下のような処理になるかと思います。 0.MSCommの受信文字列がじつは0bytes(空)なら抜ける。 1.受信文字列を受信バッファに追加。 2.受信バッファをチェックし、処理可能なブロックが揃ったなら、「処理」を行い、受信バッファからブロックを取り除いて(バッファの全クリアではない)、0へ戻る。 3.受信バッファの内容が揃ってないなら、そのまま受信処理を抜ける。 ※Thresholdなので閾値だと思います。1を設定すると、「1bytes以上受信した」という契機でのイベントになるので、実際の受信バイトはそのつど確認して処理する必要があると思われます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.