请问如何触发mscomm控件的oncomm事件?是否只要将我的设备(例如MODEM或GPS)与计算机连线即可?我的原程序如下:
Private Sub Command1_Click()
MSComm1.CommPort = 1 '??Com2 If MSComm1.PortOpen = False Then MSComm1.Settings = "9600,n,8,1" '9600???,???,8????,1???? MSComm1.PortOpen = True MSComm1.OutBufferCount = 0 '??????? MSComm1.InBufferCount = 0
End If '???????
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent Case comEvReceive '?????? Dim Buffer As Variant MSComm1.InputLen = 0 MSComm1.InputMode = comInputModeBinary Buffer = MSComm1.Input '??????? MSComm1.InputMode = comInputModeText Buffer = MSComm1.Input Case Else End Select
MsgBox Buffer
End Sub
Private Sub Command1_Click()
MSComm1.CommPort = 1 '??Com2 If MSComm1.PortOpen = False Then MSComm1.Settings = "9600,n,8,1" '9600???,???,8????,1???? MSComm1.PortOpen = True MSComm1.OutBufferCount = 0 '??????? MSComm1.InBufferCount = 0
End If '???????
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent Case comEvReceive '?????? Dim Buffer As Variant MSComm1.InputLen = 0 MSComm1.InputMode = comInputModeBinary Buffer = MSComm1.Input '??????? MSComm1.InputMode = comInputModeText Buffer = MSComm1.Input Case Else End Select
MsgBox Buffer
End Sub
MSComm1.CommPort = 1
MSComm1.RTSEnable = True
MSComm1.RThreshold = 1 '也可设为N,则收到N个字节触发一次
MSComm1.Settings = "9600,n,8,1"
If MSComm1.PortOpen = False Then
'9600???,???,8????,1????
MSComm1.PortOpen = True
endif
End Sub
MSComm1.RThreshold = 1 '也可设为N,则收到N个字节触发一次
注意,虽然写的为1个就触发,有可能一次收到的数据大于1个。