COMMTIMEOUTS读写串行口超时
参考百度百科 COMMTIMEOUTS 在用ReadFile和WriteFile读写 串行口 时,需要考虑超时问题。如果在指定的时间内没有读出或写入指定数量的字符,那么ReadFile或WriteFile的操作就会 结束 。要查询当前的超时设置应调用 GetCommTimeouts 函数,该函数会填充一个COMMTIMEOUTS结构。调用 SetCommTimeouts 可以用某一个COMMTIMEOUTS结构的内容来设置超时。 有两种超时:间隔超时和总超时。间隔超时是指在接收时两个字符之间的最大时延,总超时是指读写操作总共花费的最大时间。写操作只支持总超时,而读操作两种超时均支持。 用COMMTIMEOUTS结构可以规定读/写操作的超时,该结构的定义为: typedef struct _COMMTIMEOUTS { DWORD ReadIntervalTimeout; // 读间隔超时 DWORD ReadTotalTimeoutMultiplier; // 读时间系数 DWORD ReadTotalTimeoutConstant; // 读时间 常量 DWORD WriteTotalTimeoutMultiplier; // 写时间系数 DWORD WriteTotalTimeoutConstant; // 写时间常量 } COMMTIMEOUTS,