我只是在查看我编写的一些代码,用于与 CF2.0 上的 C# 中的串行端口进行通信。我没有使用 DataReceived 事件,因为它不可靠。MSDN 指出:
DataReceived 事件不保证为接收到的每个字节引发。使用 BytesToRead 属性来确定缓冲区中还有多少数据要读取。
我使用 read() 轮询端口,并有一个在读取数据时处理数据的委托。我还在某处读到“轮询很糟糕”(没有给出解释)。
任何想法为什么民意调查可能不好?除了通常的线程注意事项 - 我有一个单独的线程(后台线程)来轮询端口,在读取数据后退出线程,所有测试都运行良好。