18log
驱动牛犊
驱动牛犊
  • 注册日期2007-04-04
  • 最后登录2008-05-16
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:868回复:0

菜鸟请教D12驱动应用程序问题

楼主#
更多 发布于:2007-06-17 17:33
小弟使用D12和51做一个大量数据传输的东西。
固件使用ZLG的,驱动是用DriverStudio3.1直接生成的。
使用DS里面的函数OpenByInterf()打开USB设备,用ReadFile()阻塞模式来读取USB数据

因为在51那里是连续发的,所以我的应用程序也是循环读取,但老是读不到数据
如果只是读一次(ReadFile())的话,就可以读到数据
但我使用循环读的时候,在读完一帧数据的时候(端点2,64Byte),再Sleep几十微秒,也可以正确的读到数据!
但使用ZLG的库函数的WritePort2()来读的时候,又有些时候会接收数据出错,而且就算读取正确传输速率才10K不到(11.0592的晶振)

请问,如果要在应用程序里面读取USB传输过来的数据,是不是每次读完之后要等待一定的时间,还是要发个ACK信号?
或者要把读取数据的代码放到到驱动里面?
还是读取的方式用非阻塞的?
请各位DX帮助下~
游客

返回顶部