VB 字符串接收,数据如何处理
以下是我写的一段程序,还未完成。如果我串口接收数据,接收的是字符串数据,二进制方式接收,处理,数据如果是“B123.56A64.91A500E”,以B开始,E结尾,A为间...
以下是我写的一段程序,还未完成。如果我串口接收数据,接收的是字符串数据,二进制方式接收,处理,数据如果是“B123.56A64.91A500E”,以B开始,E结尾,A为间隔,中间还有小数点。其中我该如何处理数据呢。程序中,我字符串已经存储到strTmp 中。这个数据是怎样的呢?不明白二进制转成十六进制,那字符串中数据不是只有0~F了吗?那数据不是全变了。小数点也不知道变啥样了。总之就是想知道二进制接收字符串之后,该如何处理数据。
Dim Inbyte() As Byte
Dim buffer As String
Dim t As Integer
Dim RawData(500) As Byte '串口接收的原始数据
Dim sFinalData As String '最终处理完成的数据
Dim N As Integer
Dim strTmp As String
N = 0
strTmp = ""
If MSComm1.InBufferCount > 0 Then 'InBufferCount接收缓冲区等待的字符数
'读取数据返回数据串
Select Case MSComm1.CommEvent 'CommEvent返回最近的通讯事件或错误
Case comEvReceive
Inbyte = MSComm1.Input 'input返回并删除缓冲区的数据流
Case comEvSend
End Select
For j = LBound(Inbyte) To UBound(Inbyte) '保存到原始数组
RawData(N) = Inbyte(i)
N = N + 1
Next j
For i = 0 To N - 1
strTmp = strTmp & Right("00" & Hex(RawData(i)), 2)
Next i 展开
Dim Inbyte() As Byte
Dim buffer As String
Dim t As Integer
Dim RawData(500) As Byte '串口接收的原始数据
Dim sFinalData As String '最终处理完成的数据
Dim N As Integer
Dim strTmp As String
N = 0
strTmp = ""
If MSComm1.InBufferCount > 0 Then 'InBufferCount接收缓冲区等待的字符数
'读取数据返回数据串
Select Case MSComm1.CommEvent 'CommEvent返回最近的通讯事件或错误
Case comEvReceive
Inbyte = MSComm1.Input 'input返回并删除缓冲区的数据流
Case comEvSend
End Select
For j = LBound(Inbyte) To UBound(Inbyte) '保存到原始数组
RawData(N) = Inbyte(i)
N = N + 1
Next j
For i = 0 To N - 1
strTmp = strTmp & Right("00" & Hex(RawData(i)), 2)
Next i 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询