'设置初始化MSComm端口
Private Sub SetMSComm()
With MSC
.CommPort = 1 '设置Com1为通信端口
.Settings = "9600,E,7,2" '设置通信端口参数 9600赫兹、偶校验、7个数据位、1个停止位
.InBufferSize = 40 '设置缓冲区接收数据为40字节
.InputLen = 1 '设置Input一次从接收缓冲读取字节数为1
.RThreshold = 1 '设置接收一个字节就产生OnComm事件
.InputMode = comInputModeBinary '设置数据接收模式为二进制形式
End With
End Sub
'事件:
Private Sub MSC_OnComm()
Dim i As Long
With MSC
Select Case .CommEvent '判断通信事件
Case comEvReceive: '收到Rthreshold个字节产生的接收事件
SwichVar 1
If Out(1) = 2 Then '判断是否为数据的开始标志
.RThreshold = 0 '关闭OnComm事件接收
End If
Do
DoEvents
Loop Until .InBufferCount >= 3 '循环等待接收缓冲区>=3个字节
For i = 2 To 12
SwichVar i
If Out(i) < 58 And Out(i) > 45 Then
txt_GrossWeight.Text = txt_GrossWeight.Text & Chr(Out(i))
End If
Next
End With
End Sub
'转化ASCII码为计算机的字符
Private Sub SwichVar(ByVal nNum As Long)
var = Null
var = MSC.Input
Out(nNum) = var(0)
End Sub