boyhan
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2004-11-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1238回复:1

我怎么才能知道USB的一个通道上什么时候有数据到达?

楼主#
更多 发布于:2002-03-29 08:42
以前的程序是基于串口的,其中有个线程用来循环读数据,通过调用WaitCommEvent来知道什么时候有数据到达了才去Read。但是现在要改成基于USB的,我怎么能实现上面的功能呢?我怎么才能知道在哪个通道上有数据到了?不会是让我一直循环读吧?那样很浪费资源阿。
lvyingf
游客
游客
沙发#
发布于:2002-03-29 23:36
你要使用USB还有好多东西要学呀。
简单的说,其实PC机的USB接口都是USB HOST,所以发送与接收都是PC端控制的,要接收数据先要向USB设备发出请求,如
ReadFile(g_hUsb,(void *)((DWORD)pBuffer+dwI),cbBytes,&dwBytesRet,NULL);
也是开个线程在等待,需要接收的数据完成就会返回,至于USB数据接收过程是底层驱动做的事情,不需要你在程序中干预。

游客

返回顶部