タイトル : Re^5: MScommの通信について 投稿日 : 2012/06/01(Fri) 17:48 投稿者 : オショウ
> 自分の理解出来てる範囲で確認してみました。 非同期通信と言うものと、プログラムの構造がマッチして いないのだと思います。 指定したバイト数を受信するまで待つようにプログラムを 書くか・・・ 一般的には『デリミタ』と呼ぶ固定のコードを受信するま 延々読み込んでバイト配列等に蓄積していくか・・・ みたいな書き方をします。 MSComm1.Input として同期的受信方法になっているので、ブレークポイン トやプログラムの止め方で、本当は5バイト送信している のに、受信バッファに2バイト目が入った段階でブレーク してしまい、3バイト目がたまたま受信できたかのように なって、4バイト目以降が受信されずに受信バッファに残 っているか、捨てられてしまったのではないかと思います。 1バイトでの非同期受信方法で、所定バイト数受信するま で待ち合わせるようにするのがよいように思います。 頑張って下さい! 以上。 |