天天看点

串口阻塞读写的局限性

在阻塞读时,写串口需要不定长的时间(有时零点几秒,有时几秒),估计原因是串口的读和写不能同时进行。

经跟踪测试,有以下结论:

在某线程阻塞读串口时串口资源完全被占用,此时在另一线程中进行写操作也将阻塞(原因:使用同一资源,ReadFile/WriteFile在操作系统底层进行同步锁定),直到读操作因为超时返回,才能进行其它的串口操作,如串口写操作。