單片機中的資料是:00 01 02 03 04

'每發送一次指令,觸發下面事件,回傳資料串
Private Sub MSComm1_OnComm()
Dim Inbyte() As Byte
Dim buffer As String
Dim max_minstr As String
'讀取儀表回傳資料串
Select Case MSComm1.CommEvent
Case comEvReceive
Inbyte = MSComm1.Input ’將收到是字符放在 Inbyte中
For i = LBound(Inbyte) To UBound(Inbyte) '將收到的資料以字符形式顯示,LBound是第一個字符,UBound是最后一個
buffer = buffer + Hex(Inbyte(i)) + Chr(32) buffer此時的值是16進制數+空格
Next i
hhh = 1
Case comEvSend
End Select
'從右邊開始取30個字符
max_minstr = Right(buffer,30)
txtFields(1).Text = Val("&H" & Mid(max_minstr, 1) ‘從第一個值開始取,取全部字符
txtFields(2).Text = Val("&H" & Mid(max_minstr, 1, 1) ‘從第一個值開始取,取1個字符
txtFields(3).Text = Val("&H" & Mid(max_minstr, 2, 10) ‘從第2個值開始取,取10個字符
End Sub
最后VB回傳的值是
txtFields(1).Text 回傳 64
txtFields(2).Text 回傳 4
txtFields(3).Text 回傳 0
請問為什么會這樣?用串口除錯精靈都沒什么問題啊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/73726.html
標籤:VB基礎類
