佚名通过本文主要向大家介绍了环保设备响应式网站,收到此设备的无效响应,设备和打印机未响应,来自此设备的无效响应,该设备或资源没有响应等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 驱动中怎么响应其他设备的中断??
描述:
解决方案1:
描述:
有一个PCI板卡,驱动是现成的,没有代码
我的工作就是写一个虚拟串口驱动,将串口的数据通过PCI板卡发送出去,和接收PCI板卡的数据
现在数据的发送 我通过直接读写 PCI物理内存实现了
但是该怎么响应PCI板卡的接收中断???
解决方案1:
你的需求有多种方案可以实现,但是要做的稳定不丢数据的话,最好是拦截原驱动的中断。
枚举出原驱动的Driver对象,可以找到它注册的中断对象(PKINTERRUPT对象),里面可以查询到原始中断函数地址。
然后自己也写个中断处理函数,把系统中断表指向原始中断函数的条目改成指向自己的中断函数,这样就可以拦截原始中断了。
然后自己处理完了后再call原始中断函数收尾就行了。
注意PCI设备中断是共用的,也就是说你的中断函数被激活后,你要读取你们设备的中断寄存器,看看中断是不是属于这个设备的,如果是才继续处理,否则要return False; 让别的中断激活。