阅读:941回复:0
USB读的问题求教
在GPRS通信模块中使用USB,固件和驱动都已经做好了,现在做上位机程序执行AT命令实现数据的收发,在发送AT+ISSND命令发送数据都成功,可是要从USB驱动上读取模块返回来的数据好像不是很顺利,我用的是异步读写的方法:
不知道周立功的usbdebug是怎么实现USB数据的正确读写的,请论坛上的高手能指导一番,我的源代码如下: husb=CreateFile(symLink,GENERIC_WRITE|GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL); 读代码: if (!ReadFile(hUsb,pData,dwMaxReadLen,dwRealReadLen,&m_ovRead)){ ______________________long LastError=::GetLastError(); ______________________if (iLastError==ERROR_IO_PENDING) ______________________{ ________________________switch(::WaitForSingleObject(m_ovRead.hEvent,dwTimeOut)) _________________________{ ____________________________case WAIT_OBJECT_0: _______________________________if (::GetOverlappedResult(hUsb,&m_ovRead,dwRealReadLen,true)) __________________________________{iReturn=0;} break; _____________________________case WAIT_TIMEOUT: __________________________________::CancelIo(hUsb); __________________________________break; _____________________________default:; _____________________________} __________________________} _______________________} |
|