Exit Sub
errhandle:
If Err.Number = 8018 Then
MsgBox "端口已经被其它应用程序打开,系统不能正常运行!", vbOKOnly + vbCritical, "端口错误"
End If
End Sub
Private Sub MSComm1_OnComm()
Dim arrReceive(10) As Byte
Dim lngData As Variant '用来从接收缓冲区读取数据
On Error Resume Next
With MSComm1
Select Case MSComm1.CommEvent
Case comEvReceive
RThreshold = 0 '关闭OnComm事件接收
lngData = .Input '读取一个接收字节
arrReceive(0) = lngData(0)
lngData = .Input
arrReceive(1) = lngData(0)
lngData = .Input
arrReceive(2) = lngData(0)
lngData = .Input
arrReceive(3) = lngData(0)
lngData = .Input
arrReceive(4) = lngData(0)
lngData = .Input
arrReceive(5) = lngData(0)
lngData = .Input
arrReceive(6) = lngData(0)
lngData = .Input
arrReceive(7) = lngData(0)
If strFlag = "1" Then
lngData = .Input
arrReceive(8) = lngData(0)
lngData = .Input
arrReceive(9) = lngData(0)
End If
End Select
End With
End Sub
使用MSCOMM控件是mscomm1.inptu就可以接收串口中的数了。
如:
Private Sub Form_Load()
Dim receivedata As vaviant
Dim loop1 As Integer
MSComm1.PortOpen = 1
Do
loop1 = loop1 + 1
MSComm1.Input = receivedata
If loop1 = 500 Then
Exit Sub
Loop While receivedata = ""
strgood = Asc(receivedata)
End Sub