我是异步读:
先读出了包头,知道后面跟的数据长度,假如是100字节,于是我就ReadFile(hCom,buf,100,&overlapped);
GetOverlappedResult(dlg->mhCom,&(dlg->mOverlapped),&dwBytesRead,TRUE);
正常情况下这样就能处理数据了,但是如果下位机只发送了99字节到串口,我的GetOverlappedResult就不能返回,只有下一包数据到来至少一个字节才返回,这样一来数据就发生了错乱,我该怎样避免这样的情况?
谢谢!