seasonpplp
驱动牛犊
驱动牛犊
  • 注册日期2009-02-09
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1903回复:4

【求助】下层驱动传送数据给上层驱动的问题

楼主#
更多 发布于:2010-11-18 14:48
   我在串口上面写了一个自定义485协议驱动,这个驱动是attach到windows已有的串口驱动上的,应用程序打开驱动进行写操作,这个没有问题。问题在于下层串口驱动接收到数据后,立即传送给485驱动啊?


采用超时轮询有没有数据的方法不好。

lyk_ffl
驱动牛犊
驱动牛犊
  • 注册日期2009-04-13
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-11-18 18:26
没看明白你说的什么意思。你是想监控写操作,读操作,还是其他的?要是监控写的话,直接在IrpDispatch中就可以了;读的话,就需要一个CompleteRoutine
seasonpplp
驱动牛犊
驱动牛犊
  • 注册日期2009-02-09
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-11-19 09:00
回 1楼(lyk_ffl) 的帖子
要设置CompleteRoutine,那必定是上层驱动主动发送IRP到下层的时候设置的,对吧?
我的意思是,我的电脑做为服务器的话,是被动的,什么时候来请求它也不知道,这个时候下层串口驱动该如何通知上层驱动来取数据?
lyk_ffl
驱动牛犊
驱动牛犊
  • 注册日期2009-04-13
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-11-19 09:34
CompleteRoutine是在上层驱动设置的啊,设置他的目的就是当下层驱动CompleteRequest后,上层驱动即能回调这个函数,而不是直接发送的下层驱动就管不了了。所以呢,当下层驱动被动收到数据后,完成Request后,在往上回传完成消息时,经过上层驱动,就会进入CompleteRoutine函数了;下层驱动没有收到数据时,就处于等待
seasonpplp
驱动牛犊
驱动牛犊
  • 注册日期2009-02-09
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-11-19 10:28
回 3楼(lyk_ffl) 的帖子
3Q,我试试
游客

返回顶部