gmmxrr
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2005-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1055回复:0

怎么保持PC和USB设备通讯收发一致?

楼主#
更多 发布于:2004-05-20 16:45
我采用的BULK传输方式,在设备的firmware中我写操作是这样来处理的:每写一个包(64字节)如果超过了5秒还不能成功发送,我就丢弃这个包,接着发下面的一个包.
在PC端的驱动程序中我的读操着是这么来处理的:直接通过WD_UsbTransfer函数读.如下:
transfer.dwPipe = 0x01;
transfer.dwBytes = dwSize;//为500K字节
transfer.pBuffer = pBuffer;//为500K字节大小的缓冲区
transfer.hDevice = hSEALCONTRL->hDevice;
transfer.dwTimeout = 5000;//超时设置为5秒
WD_UsbTransfer(hSEALCONTRL->hWD, &transfer);

在我的应用程序中发现有个问题:PC读数据时有时能完整的收到所有的包,而有时只能收到部分包.还有时读操作返回超时.请问这种我这样处理有什么问题?还望各位指点指点,多谢了!
游客

返回顶部