这位大虾
我的意思是用vb来接受显示单片机送来的16进制字符
比如
单片机发送
aa11ab33445566bb aabb是开始和结束信号
那如何在vb中能显示
aa11ab33445566bb
我设置
rthreshold是 8
Private Sub comm1_OnComm()
Dim buf1 As Variant
Dim buf$, i%
Select Case comm1.CommEvent
Case comEvReceive
inbyte = comm1.Input
For i = 0 To 7
buf = Hex(inbyte(i))
buf1 = buf1 & buf
Next
Text2.Text = n
comm1.InBufferCount = 0
End Select
End Sub
现在我把rxd和txd短结
用output命令发送
为什么在text2中显示不出来
text2.text=buf1
未知"Text2.Text = n" 中的 n 是什么。
其实把 rthreshold置为1(每字符处理一次)则可处理任意长度的字串:
Private Sub comm1_OnComm()
Dim s$,s1$
Select Case comm1.CommEvent
Case comEvReceive
s = comm1.Input
'例: 每一字符都更新一次text2.text
text2.text = text2.text & s
'或: 如果"bb" 是通讯协议中固定用的的结束符,则可在收到等它出现时再更新text2.text
s1 = s1 & s
If Len(s1) > 2 Then
Iif Right(s1) = "bb" then
text2.text = s1
'建立本串接收结束标志,通知可继续发送等
......
End If
End If
End Select
End Sub