投稿日 | : 2005/04/26(Tue) 15:48 |
投稿者 | : なまごん |
URL | : |
タイトル | : MSCommについて |
VB6.0を使用しています。
機器とパソコンを232Cで通信しているのですが、
機器の電源を立ち上げた時にハード的にHEXでE0を吐き出して来てしまいます。
EOの時はキャンセルしたいのですが、Inputを変数(Buffer)に入れる1行(B)を処理するのに15秒
程度かかってしまってます。(約850Mhzのパソコンで)
InputModeをcomInputModeBinary(Aをコメントして@を使用)にすると直ぐに処理できるのですが
変数(Buffer)にMSComm1.Inputがうまく入らず他の通信が出来ない状態です。
(色々変換してみたのですが・・・)
またパソコン同士を232CでつないでE0を送っても同じような状態でした。
E0のデータがきても処理に時間が掛からない方法、InputModeがcomInputModeBinary
の時の扱い方など何か良い方法がありましたら教えて下さい。
232Cの設定(制御線は使用していません。)
Private Sub Form_Load()
With MSComm1
.InBufferSize = 1024
.OutBufferSize = 1024
.InputLen = 1
.RThreshold = 1
.CommPort = 1
.Settings = "38400,N,8,1"
.PortOpen = True
End With
End Sub
Private Sub MSComm1_OnComm()
Dim buffer As Variant
Select Case MSComm1.CommEvent
Case comEvReceive
'MSComm1.InputMode = comInputModeBinary '@
MSComm1.InputMode = comInputModeText 'A
buffer = MSComm1.Input 'B
End Select
End Sub