7,763
社区成员
发帖
与我相关
我的任务
分享
With MSComm1
.CommPort = 1 '设置Com1为通信端口
.Settings = "9600,N,8,1"
.InBufferSize = 1024 '设置缓冲区接收数据为1024字节
.OutBufferSize = 512
.InputMode = comInputModeBinary '设置数据接收模式为16进制形式
.InputLen = 1 '设置Input一次从接收缓冲读取字节数为1
.RThreshold = 1 '设置接收一个字节就产生OnComm事件
.SThreshold = 1
.OutBufferCount = 0 '清空发送缓冲区
.InBufferCount = 0 '滑空接收缓冲区
If Not .PortOpen Then
.PortOpen = True '打开通信端口
End If
End With
Dim str1 As String
Dim str_tmp2 As String
Dim l1 As Integer
Dim f1 As Boolean
str1 = ""
f1 = False
l1 = 0
Do While (1)
str_tmp2 = MSComm1.Input
If f1 Then
str1 = str1 & str_tmp2
l1 = l1 + 1
End If
If (str_tmp2 = "H") Then
f1 = True
Else
If l1 >= 8 Then
f1 = False
Exit Do
End If
End If
Loop
With MSComm1
.CommPort = 4 '设置Com4为通信端口
.Settings = "9600,N,8,1" '设置通信端口参数 9600赫兹,无校验位,8个数据位,1个停止位
.InBufferSize = 1024 '设置缓冲区接收数据为1024字节
.OutBufferSize = 512
.InputMode = comInputModeText '设置数据接收模式为16进制形式
.InputLen = 1 '设置Input一次从接收缓冲读取字节数为1
.RThreshold = 1 '设置接收一个字节就产生OnComm事件
.SThreshold = 1
.OutBufferCount = 0 '清空发送缓冲区
.InBufferCount = 0 '滑空接收缓冲区
If Not .PortOpen Then
.PortOpen = True '打开通信端口
End If
End With