gpt4 book ai didi

c# - 串口通信 : polling serial port vs using serial port DataReceived event

转载 作者:可可西里 更新时间:2023-11-01 07:43:26 24 4
gpt4 key购买 nike

我只是在回顾我在 CF2.0 上用 C# 编写的与串行端口通信的一些代码。我没有使用 DataReceived 事件,因为它不可靠。 MSDN states that:

The DataReceived event is not gauranteed to be raised for every byte received. Use the BytesToRead property to determine how much data is left to be read in the buffer.

我用 read() 轮询端口,并有一个委托(delegate)在读取数据时处理数据。我还在某处读到“轮询不好”(没有给出解释)。

知道轮询为什么不好吗?除了通常的线程警告 - 我有一个单独的线程(后台线程)轮询端口,线程在读取数据后退出,所有测试都运行良好。

最佳答案

按照我的理解,您可能会为多个字节获得一个事件,而不是每个字节一个事件。我仍然希望在数据准备好时收到一个事件,而不是让它完全“跳过”一些字节。

我一直在使用这个事件,并且没有遇到任何问题。

关于c# - 串口通信 : polling serial port vs using serial port DataReceived event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com