本程序采用同步通信,接受数据部分代码如下:
int CMSCommunicator::Recv( char* pCRecvData, int readBytes )
{
int iRet;
DWORD dwBytesRead;
iRet = ReadFile( this->hCom, pCRecvData, readBytes, &dwBytesRead, NULL );
         ......
}
         
接口处,已打印出接收到大量数据,我这边是循环读取的,每次读1024个,调用接口如下:
CMSCommunicator *pMscom = new CMSCommunicator();
while(1){
    ret = pMscom->Recv(recvFrame, 1024 );
    strFrame = recvFrame;
    ...
    if(..) break;
}
初始化串口时,输入,输出缓冲区大小分别设置为1024,但我这边读取时,就单步调试时,dwBytesRead = 371,
也就是接受到的数据为371BYTES,但文件大小是500多BYTE,后来我改变了输入,输出缓冲区的大小,但结果还是这样,  请解答....而且很奇怪的是,初始化时候,我设置的延时是10秒,也就是10内读不到数据就退出,但运行时候,没次要过10才能接收到数据,不知道是啥原因/