VB.NET中如何处理串口通信接收的数据?

现在上位机的接受段代码如下,并且测试可以正确取得信息:PrivateSubcomm_DataReceived(ByValsenderAsObject,ByValeAsSe... 现在上位机的接受段代码如下,并且测试可以正确取得信息:
Private Sub comm_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
Dim n As Integer = comm.BytesToRead
Dim buf(n) As Byte
comm.Read(buf, 0, n)
builder.Length = 0
Invoke(Sub()
If checkBoxHexView.Checked Then
For Each b As Byte In buf
builder.Append(b.ToString("X2") & " ")
Next
Else
builder.Append(Encoding.ASCII.GetString(buf))
End If
txGet.AppendText(builder.ToString)
End Sub)
End Sub

下位机传输的数据大体是:
100
101
102
103
104

接收的全是三位数的数字,但是直接想在上位机中转换为数值就出现了问题。

比如我重新做一个textbox, textbox2.text=builder.tostring 显示的值就是单字节数值比如是“01”,“3”这样子,怎样读出下位机输出的一行,并且转换为数值型?
example,textbox中直接显示101这样。
PS:下位机可做改动,可以增加识别字符。
小的再此感谢各位大神!
展开
 我来答
包布丁
2014-06-17 · TA获得超过1358个赞
知道小有建树答主
回答量:1435
采纳率:25%
帮助的人:1219万
展开全部
你可以预先约定一个截止附,读取的字节统统放到缓存区里,直到读到截止附再处理、显示。
追问
能给点代码提示吗?
追答
比如0x00作为截止符。在接收端定义一个字节集合List,每读取到的字节先判断是否是0x00,如果是,把字节集合的字节拿出来处理;如果不是,Add到字节集合里。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式