tomas
驱动牛犊
驱动牛犊
  • 注册日期2002-05-13
  • 最后登录2002-05-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1687回复:7

usb驱动中主动通知问题

楼主#
更多 发布于:2002-05-13 12:02
本人用正在开发一个usb温度计,当温度变化时,主动通知主机。
我现在能够发命令到温度计,也能够收到温度计的回复,不知如何才能让温度计主动送数据到主机,(提高主机效率)。
那位高人能够帮助我,我将用特殊方式感谢你!!!!

boyhan
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2004-11-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-15 11:04
估计由驱动传递数据给主机不太容易吧,最好是主机循环读,当然在真正读之前要等到温度改变事件通知。大概如下吧:
NotExit=TRUE;
HANDLE hChangeEvent;
hChangeEvent = =(HANDLE)CreateEvent(.......);//参数省略

//前提,设备已经打开。
//将hChangeEvent通过DeviceIoControl注册进驱动,转换成内核
//Event,在温度变化时将内核Event置位。

while(NotExit){
    WaitForSingalObject(hChangeEvent, INFINITE);
    //读温度
    ResetEvent(hChangeEvent);
}
liuwan
驱动小牛
驱动小牛
  • 注册日期2001-10-15
  • 最后登录2004-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-15 17:46
没有可能,因为USB1.1协议规定了的HOST-CLIENT结构就是一种从动关系,主机永远是主动的,而设备永远是被动的。
菜菜
dinolos
驱动小牛
驱动小牛
  • 注册日期2002-03-04
  • 最后登录2004-05-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-15 17:55
不能主动通知?可中断工作方式不是可以吗?难道不是一回事?将一个端点设位中断方式,温度变化就用这个端点发数,驱动没法编?
菜鸟不怕大虾! 菜鸟也要做大虾!
heming
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2013-02-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-15 21:44
主机用timer去读.
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-16 11:03
不能主动通知?可中断工作方式不是可以吗?难道不是一回事?将一个端点设位中断方式,温度变化就用这个端点发数,驱动没法编?

U r rite! Use a INT pipe
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
flay
驱动牛犊
驱动牛犊
  • 注册日期2002-04-25
  • 最后登录2003-07-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-16 16:16
请问斑竹,如何实现呢?能否具体一点。
我也想知道的说。 bow!
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-05-17 09:56
可以参考一下鼠标
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部