阅读:1171回复:11
多卡中断?
w2k下,多卡的isr如何知道是那个卡发出的中断?好像没有可用的context啊,难道自己轮询一下状态吗?这种情况通常如何解决呀?
|
|
沙发#
发布于:2002-07-30 11:10
因为初始化isr时可以拿到当前的设备对象,我预先把所有设备对象保存起来了,查查就知道是那块卡了,然后根据不同的卡初始化不同的isr,谢谢大家坚定我的信心,呵呵给分。
|
|
板凳#
发布于:2002-07-30 09:46
如果卡一样的话,我当然是一个ISR :D
|
|
地板#
发布于:2002-07-29 19:34
没什么区别~~~看你想怎么做了
我喜欢分开来写ISR,每个ISR只管理一块卡,简单 |
|
地下室#
发布于:2002-07-29 16:36
然后每个ISR还是要判断是从哪个卡上来的中断?
和一个有什么区别。 |
|
5楼#
发布于:2002-07-29 14:16
中断共享,调用四次IoConnectInterrupt.
|
|
6楼#
发布于:2002-07-29 13:31
四快卡用一个中断,然后分别连到不同的ISR上,怎么实现呀?!
|
|
7楼#
发布于:2002-07-29 13:01
当然可以了~~~
如果你的卡是以电平触发方式产生中断的话,那么: 当ISR检测到一块卡产生中断,然后就执行相应的ISR代码,并在返回之前清除中断标志,其他的卡就不用管了;如果此时有两块卡同时产生了中断的话,那么当你的ISR返回之后,另外一块卡的中断马上又可以触发其他的ISR了。也就是说,你的ISR的执行应该是串行的,一般来说,一个ISR管一块卡就没有问题了~~~ |
|
8楼#
发布于:2002-07-29 11:09
由于我的卡通常是四块同时工作,要是两块几乎同时产生中断,那么在isr中可能会检测到两块卡都存在中断标志,会不会出问题呀,如果我在驱动中实现四个isr函数,连接中断时将四个卡分别连结到这四个isr上,可不可以呢,是不是有点笨笨的? :) :) :)
|
|
9楼#
发布于:2002-07-29 09:13
要自己去查看设备的知道标志寄存器,来判断是谁的中断。
|
|
10楼#
发布于:2002-07-29 08:36
用户被禁言,该主题自动屏蔽! |
|
11楼#
发布于:2002-07-28 22:08
应该需要自己去查询设备状态。
|
|