一些需要注意的地方
Serialport 的datareceived事件是串口接收到不大于SerialPort1.ReceivedBytesThreshold个字节的时候触发,但是具体多少个不确定(实验发现,当第一个字节与下一个字节发送间隔很短的时候几乎就是等于SerialPort1.ReceivedBytesThreshold的时候触发,但是间隔很长的时候就不确定了,但是一定小于SerialPort1.ReceivedBytesThreshold)。
在datareceived 事件中不能直接改变窗体上的控件的属性,例如用一个label显示接收到的数,把数直接赋值给label的text属性,这是不可以,但是可以利用同步委托实现。异步委托也可以实现,但是经过实验,这样会在ReceivedBytesThreshold=1,并且相邻两个字节间隔较长的时候造成串口丢失数据。
同步委托
调用

本文介绍了在VB.NET中使用SerialPort控件时应注意的事项,包括DataReceived事件的触发条件、在事件中如何安全更新UI以及如何处理接收到的数据。强调了同步委托在更新窗体控件时的重要性,以及在特定情况下利用Timer控件进行数据接收的策略。
最低0.47元/天 解锁文章
1083

被折叠的 条评论
为什么被折叠?



