sogoodlife
驱动牛犊
驱动牛犊
  • 注册日期2009-06-03
  • 最后登录2010-01-13
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1821回复:1

对usb设备使用ReadFile存在的问题

楼主#
更多 发布于:2009-12-03 10:41
打开USB设备(2410),调用ReadFile读数据:

usb设备端写入128字节数据
.....
BYTE buf[256];
memset(buf, 0, 256);
DWORD dwRead;
ReadFile(hUSB, buf, 256, &dwRead, NULL);
.......

程序会一直阻塞不返回,而如果改成ReadFile(hUSB, buf, 128, &dwRead, NULL)就可以正常的返回数据。

我记得使用窗口读数据的时候,即使写入的数据没达到nNumberOfBytesToRead参数指定的值也是可以返回的。

不知道哪里出错了,请各位大侠帮帮忙!
jbhlzw
驱动牛犊
驱动牛犊
  • 注册日期2006-04-03
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望93点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-12-04 09:23
问题出在固件上,无论发送多少数据,要想终止传输,最后必须向端点写一个空包。Usb_WriteEndpoint(nIndex 0, 0); // Send zero packet at the end
游客

返回顶部