各位大侠,这是一个关于串口读操作的问题,望不啬赐教!(有一位大侠曾经指点过我,但是还有点不明白,故发贴请教)
在下述代码中如何使串口未读完的操作完成呢?
fReadStat = ReadFile(m_hCom, lpszBlock,
dwLength, &dwLength, &( m_rdos) ) ;//读串口
if (!fReadStat)
{
if (GetLastError() == ERROR_IO_PENDING)
{
while(!GetOverlappedResult(m_hCom ,
&( m_rdos), &dwLength, TRUE ))
//各位大侠,小弟不明白的是这句,readfile已经执行完了,还能再回去执行吗?如
//果不能,这句岂不是死循环了吗?
//即使循环了也不能循环到readfile呀?如何读完的呢?
{
dwError = GetLastError();
if(dwError == ERROR_IO_INCOMPLETE)
continue;
else
{
wsprintf( szError, "<CE-%u>", dwError ) ;
ClearCommError(m_hCom , &dwErrorFlags, &ComStat ) ;
break;
}
}
………..