MSCommの受信をしているのですが、受信バッファが満タン?になり、勝手に改行してしまいます。
ネットで検索したら
AxMSComm1.InBufferCount = 0
でバッファがクリアされると書いてあったのですが、うまく行きません。
どなたか解決法を教えてください。
ソフトはVB.NETです。
うまくいきませんではよくわからないので、一般論だけ書いておきます。
受信バッファをクリアというのは、
「受信を完了しているデータが入っている領域のクリア」
なので、
「OSレベルでまだ受信バッファに書き込んでいないデータ」
「シリアルポート制御チップ上にあり、まだOS側に渡っていないデータ」
「全部のビットの受信が完了していない受信中のデータ」
「相手の機器(モデム含む)の送信バッファや制御チップ内にあるデータ」
「相手がこれから送信するデータ」
はクリアされません。
もし、本当にやりたいことが「相手に送信を一時的に止めてもらうこと」なのでしたら、フロー制御について勉強して下さい。
ツイート | ![]() |