在读取串口数据时,我使用了以下代码:
serialport.read(xyz, 0, 4)
其中xyz是一个字节数组。
问题1:在这样做的同时,我读取的数据是否会从串口缓冲区中被删除?还是说有一个指针会被递增?
问题2:
private void moduleSerialPort_DataReceived(object sender,System.IO.Ports.SerialDataReceivedEventArgs e)
{
.
.
.
}
如果在执行先前数据的代码时收到新数据,那么数据接收事件是否会被触发? 我发现当我的系统运行几个小时后,以下事情发生: 当新数据被传输时,在串口上接收到了这些数据,但计算机却处理之前发送的数据。因此,我怀疑数据留在缓冲区中,并在下一个数据接收事件上执行。 请问有人可以帮我解决这个问题吗?谢谢!