' 等待并处理返回数据
Dim arrRecvData() As Byte
Do While True
While objSerialPort.InBufferCount < objSerialPort.RThreshold
WScript.Sleep 100 ' 等待串口接收数据
Wend
arrRecvData = objSerialPort.Input ' 读取接收的数据
If UBound(arrRecvData) >= 12 Then
' 判断帧头和帧尾是否正确
If arrRecvData(0) = &H68 And arrRecvData(UBound(arrRecvData)) = &HE5 Then
' 根据协议规定从数据域中解析电量信息
Dim dblPower As Double
dblPower = arrRecvData(10) * 65536 + arrRecvData(9) * 256 + arrRecvData(8)
' 在控件中显示读取的电量
txtPower.Text = CStr(dblPower)
Exit Do
End If
End If
Loop
' 关闭串口通讯对象
objSerialPort.PortOpen = False
Set objSerialPort = Nothing[/code]