bReadStat=ReadFile(hCommPort,ch,
dwBytesRead,&dwBytesRead,&m_osRead);
if(!bReadStat){if(GetLastError()==ERROR_IO_PENDING)
//GetLastError()函数返回ERROR_IO_PENDING,表明串口正在进行读操作{WaitForSingleObject(m_osRead.hEvent,2000);
//使用WaitForSingleObject 函数等待,直到读操作完成或延时已达到2 秒钟
//当串口读操作进行完毕后,m_osRead 的hEvent 事件会变为有信号}}PurgeComm(hCommPort,PURGE_TXABORT|
------解决方案--------------------
..这还真不知道有没有了,或者你申请一个空间来保存读出来的数据吧
------解决方案--------------------
复制一个缓冲区,读完后,再复制回去
------解决方案--------------------
------解决方案--------------------
自己维护一个缓存不就好了
------解决方案--------------------
如果缓冲区里有多个数据,你只读一个,那缓冲区是不会把剩下的9个给清了,除非是缓冲区里只有一个数据或者是你读完一个就执行清除语句
你不是自己调用PurgeComm把缓冲区清空了么。。。