MSComm1.Inputについて

解決


べしこ  2003-04-03 18:03:52  No: 106542  IP: [192.*.*.*]

はじめて投稿します。
MSComm1.Inputからデータを受信しているのですが、
データによって早く読取ったりフリーズしているみたいに遅く読み取ったりと、
不安定なのです。
早く読取るデータは (STX)"SS**"(ETX)(&H03)、
遅く読取るデータは (STX)"SS**"(ETX)(&He7) です。

If MSComm1.CommEvent = comEvReceive Then
    RBuffer = MSComm1.Input  <---- ①
End If

End Ifでブレイクをかけていると ①から抜けてきません。
全くわかりません。
知っている方宜しくお願いします。

編集 削除
べしこ  2003-04-03 18:05:44  No: 106543  IP: [192.*.*.*]

はじめて投稿します。
MSComm1.Inputからデータを受信しているのですが、
データによって早く読取ったりフリーズしているみたいに遅く読み取ったりと、
不安定なのです。
早く読取るデータは (STX)"SS**"(ETX)(&H03)、
遅く読取るデータは (STX)"SS**"(ETX)(&He7) です。

If MSComm1.CommEvent = comEvReceive Then
    RBuffer = MSComm1.Input  <---- ①
End If

End Ifでブレイクをかけていると ①から抜けてきません。
全くわかりません。
知っている方宜しくお願いします。

編集 削除
Loreley  2003-04-04 22:46:56  No: 106544  IP: [192.*.*.*]

RThresholdプロパティが大きいとか。
データによって・・・ということは基本的には考えられませんので、
実際に送り手が遅いのか、
RThresholdプロパティが大きいまたは0なためにReceiveイベントが発生しない
といったような原因になるとおもいます。
OnCommではだめなんですかね?

それと、受信以外のイベントやエラーもみてみたほうがいいでしょう。

編集 削除
べしこ  2003-04-09 13:22:34  No: 106545  IP: [192.*.*.*]

Loreleyさん。 ありがとうございます。
返信が遅れてしまってすみません。
ヒントになりました。
色々試しまして,mscommの習性を逆に利用しました。
何とか解決に持ち込めそうです。

ありがとうございました。

編集 削除