|
菜鸟请教D12驱动应用程序问题
小弟使用D12和51做一个大量数据传输的东西。
固件使用ZLG的,驱动是用DriverStudio3.1直接生成的。
使用DS里面的函数OpenByInterf()打开USB设备,用ReadFile()阻塞模式来读取USB数据
因为在51那里是连续发的,所以我的应用程序也是循环读取,但老是读不到数据
如果只是读一次(ReadFile())的话,就可以读到数据
但我使用循环读的时候,在读完一帧数据的时候(端点2,64Byte),再Sleep几十微秒,也可以正确的读到数据!
但使用ZLG的库函数的WritePort2()来读的时候,又有些时候会接收数据出错,而且就算读取正确传输速率才10K不到(11.0592的晶振)
请问,如果要在应用程序里面读取USB传输过来的数据,是不是每次读完之后要等待一定的时间,还是要发个ACK信号?
或者要把读取数据的代码放到到驱动里面?
还是读取的方式用非阻塞的?
请各位DX帮助下~
|
|