阅读:1687回复:7
usb驱动中主动通知问题
本人用正在开发一个usb温度计,当温度变化时,主动通知主机。
我现在能够发命令到温度计,也能够收到温度计的回复,不知如何才能让温度计主动送数据到主机,(提高主机效率)。 那位高人能够帮助我,我将用特殊方式感谢你!!!! |
|
沙发#
发布于:2002-05-15 11:04
估计由驱动传递数据给主机不太容易吧,最好是主机循环读,当然在真正读之前要等到温度改变事件通知。大概如下吧:
NotExit=TRUE; HANDLE hChangeEvent; hChangeEvent = =(HANDLE)CreateEvent(.......);//参数省略 //前提,设备已经打开。 //将hChangeEvent通过DeviceIoControl注册进驱动,转换成内核 //Event,在温度变化时将内核Event置位。 while(NotExit){ WaitForSingalObject(hChangeEvent, INFINITE); //读温度 ResetEvent(hChangeEvent); } |
|
板凳#
发布于:2002-05-15 17:46
没有可能,因为USB1.1协议规定了的HOST-CLIENT结构就是一种从动关系,主机永远是主动的,而设备永远是被动的。
|
|
|
地板#
发布于:2002-05-15 17:55
不能主动通知?可中断工作方式不是可以吗?难道不是一回事?将一个端点设位中断方式,温度变化就用这个端点发数,驱动没法编?
|
|
|
地下室#
发布于:2002-05-15 21:44
主机用timer去读.
|
|
5楼#
发布于:2002-05-16 11:03
不能主动通知?可中断工作方式不是可以吗?难道不是一回事?将一个端点设位中断方式,温度变化就用这个端点发数,驱动没法编? U r rite! Use a INT pipe |
|
|
6楼#
发布于:2002-05-16 16:16
请问斑竹,如何实现呢?能否具体一点。
我也想知道的说。 bow! |
|
7楼#
发布于:2002-05-17 09:56
可以参考一下鼠标
|
|
|