关于读串口的问题
BYTE myByte[50];
DWORD dwRead;
DWORD dwRes;
DWORD dwErrors;
COMSTAT Rcs;
CString str,str1;
ClearCommError(hComm,&dwErrors,&Rcs);
if (Rcs.cbInQue==0)
{
return 0;
}
if (ReadFile(hComm,&myByte,Rcs.cbInQue,NULL,&Rol))
{
// str.Format("%02X",myByte[0]);
// m_editRev.GetWindowText(str1);
// str+=str1;
// m_editRev.SetWindowText(str);
}
else
{
dwRes=WaitForSingleObject(Rol.hEvent,
5000);
switch(dwRes)
{
case WAIT_OBJECT_0:
if (!GetOverlappedResult(hComm,
&Rol,
&dwRead,
TRUE))
{
AfxMessageBox("接收失败");
}
else
{
// str.Format("%02X",myByte[0]);
// m_editRev.GetWindowText(str1);
// str+=str1;
// m_editRev.SetWindowText(str);
}
break;
case WAIT_TIMEOUT:
AfxMessageBox("接收超时");
break;
default:
break;
}
}
return 0;
我用上面的代码来读取串口中的数据,结果总是显示接收超时的 错误,不知道什么原因,请高手帮忙啊!