vb 接收到下位机数据后解析的问题
我收到的数据为 5 3 A 0 7C 0 75 0 76 0 77 0 79 86 4 而我只要0 7C 0 75 0 76 0 77 0 79这几个数据
例如:0 7c 先合并成一个数07c 然后转换成十进制温度值为 12.4°C
Private Sub MSComm1_OnComm()
Dim i As Long
Dim inData() As Byte
MSComm1.InputMode = comInputModeBinary
If MSComm1.InBufferCount > 0 Then
inData = MSComm1.Input
For i = 0 To UBound(inData)
*************** 此处转化不会了,该怎么写,请各位帮帮忙。
Next i
End If
End Sub
[解决办法]
给你个例子,参考一下:
Option Explicit'建议你改成这个样子Dim ReadByte(0 To 99) As Byte '接收字节数组Private Sub Form_Load() With MSComm1 .CommPort = 1 .InputLen = 1 .Settings = "9600,N,8,1" .RThreshold = 1 .InputMode = comInputModeBinary End WithEnd SubPrivate Sub MSComm1_OnComm() Dim intP As Integer Dim varP As Variant MSComm1.RThreshold = 0 '屏蔽OnComm事件的发生 intP = 0 Do varP = MSComm1.Input If Not IsNull(varP) Then ReadByte(intP) = varP(0) Loop Until MSComm1.InBufferCount = 0 '完成通信,处理数据 '取出ReadByte的第3、4个元素即可(起始是第0个) End Sub