阅读:1650回复:4
READFILE 为何返回0?????
定义了IN1 和OUT2两个端点,找到设备后,WRITEFILE成功,READFILE 为什么失败,返回0。
怎么会事呀????? |
|
沙发#
发布于:2003-05-20 12:34
Result = ReadFile _
(HidDevice, _ ReadBuffer(0), _ CLng(Capabilities.OutputReportByteLength), _ NumberOfBytesRead, _ 0) 高人们请看一下,为什么result的值是零, 而下边的些却能成功???? Result = WriteFile _ (HidDevice, _ SendBuffer(0), _ CLng(Capabilities.OutputReportByteLength), _ NumberOfBytesWritten, _ 0) |
|
板凳#
发布于:2003-05-20 19:36
各路高人,谁能帮帮俺,我急啊。。。
现在数据已经在IN1BUF里了,如何用应用程序去出来啊??(是HID类的设备) |
|
地板#
发布于:2003-05-21 09:46
这个问题我已说过多次,在readfile前,先通知firmware把d12 buffer方上数据并使其有效,这时才能读回东西。firmware的中断是在读完buffer之后才产生,不是再读之前!
应用: .... deviceioctrl(.read_write_register,nsize); readfile(nsize); .... 驱动: switch(ioctrl) .... case read_write_register: buildvendreguest(..); .... d12_read(...) ... firmware: void read_write_register() { if(read) write_endpoint(npoint,.nsize<=64..); //if nsize>64,write 64 else write nsize ..... } void rxd_done(...)读完发生中断 { if(nsize<=64) return; else nsize-=64; write_endpoint(npoint,.nsize<=64..); //if nsize>64,write 64 else write nsize } |
|
|
地下室#
发布于:2003-05-21 14:34
这个问题我已说过多次,在readfile前,先通知firmware把d12 buffer方上数据并使其有效,这时才能读回东西。firmware的中断是在读完buffer之后才产生,不是再读之前! 感谢感谢,但是我的是HID设备,没有写驱动程序。 我以为,只要有数据在IN1BUF 里,readfile 就可以成功,因为古件中并没有为WRITEFILE 设置函数,但WRITEFILE 能写成功,所以我以为古件中也无须为READFILE 设置函数,但是
我用的是CY 的AN2131QC ,而且数据已经在IN1BUF 里了,如何使其有效呢??? |
|