【发布时间】:2012-06-15 15:02:11
【问题描述】:
从我正在使用的串行端口读取时 serialport.read(xyz,0,4) 其中 xyz 是一个字节数组。
问题1:这样做时,我读取的数据是否从串口缓冲区中删除?还是有一个指针会递增?
问题 2:
private void moduleSerialPort_DataReceived(object sender,System.IO.Ports.SerialDataReceivedEventArgs e)
{
.
.
.
}
如果在执行之前数据的代码时接收到新数据,是否会触发接收数据事件?
我发现当我的系统运行几个小时后,事情发生了: 当传输新数据时,它是在串行端口上接收的,但计算机会处理先前发送的数据。所以我怀疑数据是否保留在缓冲区中并在下一个 datareceived 事件中执行。
谁能帮帮我。 感谢你的帮助。 谢谢
【问题讨论】:
-
“有人可以帮帮我吗?”您的问题具体是什么?您没有提供任何代码。这应该是两个单独的问题,并且它们都应该有代码。串行通信有一个缓冲区,你读取 4 个字节,这 4 个字节发送给你。
标签: c# serial-port buffer serial-communication