whelk
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2006-10-10
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:941回复:0

USB读的问题求教

楼主#
更多 发布于:2004-02-12 11:06
在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:;
_____________________________}
__________________________}
_______________________}

游客

返回顶部