串口开发中重叠操作要注意的一点

来源:互联网 发布:网络攻防 电子书 编辑:程序博客网 时间:2024/06/10 06:35

ReadFile在开始一个重叠操作时,会把OVERLAPPED结构中的Event对象重设未 non-signaled状态.

在读取的重叠操作时,ReadFile指定的读取字节数和实际要接受的字节数不要相差太大,如果指定的数太大,则操作"GetOverlappedResult(ghComm,&oRead,&dwByteRead,TRUE);"会等待较长时间.

ReadFile 的重叠操作,在两者情形下正常返回:超时和完成指定的读取操作.

超时返回的计算是根据COMMTIMEOUTS进行的:

       Total_Timeout = (Multiplier * Number_Of_Bytes) + Constant.

另外:

有一点 WaitCommEvent will not post WM_COMMNOTIFY messages