liwen_xjtu
驱动牛犊
驱动牛犊
  • 注册日期2007-08-15
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1525回复:3

求助:关于wince驱动中断处理的问题

楼主#
更多 发布于:2008-12-27 17:08
目前在写一块PCI卡的驱动,遇到一个问题,PCI卡上的中断寄存器是自动清中断的那种,读过之后就会自动清零,而wince提供的giisr.dll里的ISR程序需要读取PCI卡的中断寄存器来判断中断源,由于PCI是共享IRQ的,所以必须要在ISR里读一下PCI卡的中断寄存器,这样就会造成中断寄存器清零,由于我在IST里也需要中断寄存器的读值来判断中断类型以便处理中断,所以想在ISR里保存一下中断寄存器的读值,然后传给驱动,并在IST里判断中断类型,但是ISR和IST好像是属于两个进程,而ISR的代码又有很多限制,只能使用规定的那两个lib库里的函数,试了几次都不行。
哪位大哥之前有遇到过类似的问题,不知道是怎么处理的,能否赐教下,小弟先谢过了!!!

急急急!!!
ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-01-05 09:32
seteventdata();
unsway
驱动牛犊
驱动牛犊
  • 注册日期2008-11-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-01-05 09:50
就没有什么状态寄存器之类的吗
jerryzheng
驱动牛犊
驱动牛犊
  • 注册日期2008-07-29
  • 最后登录2009-02-04
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望15点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-01-06 16:46
修改giisr.dll, 也就是自己做一个可注册中断,增加一个参数保存中断源,增加ioctl选项返回中断信息。
这样在IST里就可以通过KernelLibIoControl来得到中断源信息。
IT民工乙~~~
游客

返回顶部