阅读:1525回复:3
求助:关于wince驱动中断处理的问题
目前在写一块PCI卡的驱动,遇到一个问题,PCI卡上的中断寄存器是自动清中断的那种,读过之后就会自动清零,而wince提供的giisr.dll里的ISR程序需要读取PCI卡的中断寄存器来判断中断源,由于PCI是共享IRQ的,所以必须要在ISR里读一下PCI卡的中断寄存器,这样就会造成中断寄存器清零,由于我在IST里也需要中断寄存器的读值来判断中断类型以便处理中断,所以想在ISR里保存一下中断寄存器的读值,然后传给驱动,并在IST里判断中断类型,但是ISR和IST好像是属于两个进程,而ISR的代码又有很多限制,只能使用规定的那两个lib库里的函数,试了几次都不行。
哪位大哥之前有遇到过类似的问题,不知道是怎么处理的,能否赐教下,小弟先谢过了!!! 急急急!!! |
|
沙发#
发布于:2009-01-05 09:32
seteventdata();
|
|
板凳#
发布于:2009-01-05 09:50
就没有什么状态寄存器之类的吗
|
|
地板#
发布于:2009-01-06 16:46
修改giisr.dll, 也就是自己做一个可注册中断,增加一个参数保存中断源,增加ioctl选项返回中断信息。
这样在IST里就可以通过KernelLibIoControl来得到中断源信息。 |
|
|