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



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

有什么想法为什么轮询可能不好吗?除了通常的线程注意事项外-我有一个单独的线程(后台线程)轮询该端口,在读取数据之后,该线程将退出,所有测试均正常进行。

最佳答案

按照我的阅读方式,您可能会为多个字节获得一个事件,而不是每个字节获得一个事件。我仍然希望在数据准备就绪时得到一个事件,而不是完全“跳过”某些字节。

我一直使用此事件,并且没有遇到任何麻烦。

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

10-12 04:16