ccchhh
驱动牛犊
驱动牛犊
  • 注册日期2007-11-16
  • 最后登录2010-03-18
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1679回复:1

请教ddk中serial驱动中读写irp的处理流程问题。

楼主#
更多 发布于:2009-09-08 16:38
各位好:
     俺乃一驱动菜鸟,现在需要(工作,为了生计)自己写一个RS232的串口驱动。看了好久了,有几个问题实在是搞不懂,
请教一下各位,先给看帖的各位作揖,谢谢,谢谢谢谢

    
     1.那些设置控制的操作最后都传化为读写寄存器了(在serial.h中WRITE_PORT_UCHAR(),READ_PORT_UCHAR() )?
2.写操作是不是最后也转化为写寄存器了(WRITE_TRANSMIT_FIFO_HOLDING() 函数)
3.读操作的irp中数据(指irp中的irp->AssociatedIrp.SystemBuffer)数据是从哪里得到的?程序在read.c的SerialGetCharsFromIntBuffer()函数有Rtlmovememory()操作来填充此数据,但是RtlMoveMemory()函数的第二个参数Extension->FirstReadableChar是根据Extension->InterruptReadBuffer计算出来的,现在的问题是找遍了整个文件,还是没有找到Extension->InterruptReadBuffer是怎么赋值的,可以看见它的初始化,删除操作。

就是以上三个问题,有谁知道这个驱动,麻烦给解答解答,先谢谢了!
yemoxia
驱动牛犊
驱动牛犊
  • 注册日期2009-09-07
  • 最后登录2010-05-20
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-09-08 23:16
回个吧(刚学驱动,现在也为驱动烦):Extension->InterruptReadBuffer看是不是读的注册表........读写最终都是操作寄存器.........
游客

返回顶部