帮我看看这个串口延时的问题,急,谢谢了
if f_COM_HWD = INVALID_HANDLE_VALUE then
begin
f_COM_HWD := CreateFile(PCHAR(f_ComportParam.GetData_String('COM_NAME')),GENERIC_READ or GENERIC_WRITE,0,nil,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL ,0);
if f_COM_HWD = INVALID_HANDLE_VALUE then Exit;
SetupComm(f_COM_HWD, BUFFER_MAXNUM, BUFFER_MAXNUM);
GetCommState( f_COM_HWD, DcbInfo );
BuildCommDCB(PCHAR(f_ComportParam.GetData_String('COM_PARAMS')),DcbInfo );
SetCommState( f_COM_HWD, DcbInfo );
CommTimeout.ReadIntervalTimeout := 10;
CommTimeout.ReadTotalTimeoutMultiplier := 10;
CommTimeout.ReadTotalTimeoutConstant := 10;
CommTimeout.WriteTotalTimeoutMultiplier := 10;
CommTimeout.WriteTotalTimeoutConstant := 10;
SetCommTimeouts(f_COM_HWD, CommTimeout);
PurgeComm(f_COM_HWD,PURGE_RXCLEAR or PURGE_TXCLEAR);
IsOpend := TRUE;
end;
串口初始化函数如上,设置了Read超时确没有效果,再调用ReadFile时就死住,必须收到消息才能继续(这影响了我的其他操作)
请问怎么样才能ReadFile超时就结束啊