小编mik*_*ner的帖子

C#异步串口读取

我有一个类,它使用C#中的DataReceived事件处理程序从串口读取.当我收到数据时,我知道标题将有5个字节,所以我不想对数据做任何事情,直到我至少有.我目前的代码如下:

while (serialPort.BytesToRead<5)
{
//Do nothing while we have less bytes than the header size
}

//Once at least 5 bytes are received, process header
Run Code Online (Sandbox Code Playgroud)

据我了解,这段代码是阻塞的,需要改进.我正在寻找有关如何做到这一点的建议.DataReceived事件处理程序中的另一个事件处理程序是否合适?

asynchronous serial-port blocking

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

asynchronous ×1

blocking ×1

serial-port ×1