阅读:1257回复:5
关于中断的请教
大家好,我现在遇到了一个问题,我用DS中的KInterrupt来监控特定的中断,比方说并口,但是不能成功。
我是这样做实验的,在device的start例程中初始化了一个KInterrupt的成员变量,并把它和Isr连接了: 同样完成了Dpc的初始化。 status = m_Irq.InitializeAndConnect( pResListTranslated, LinkTo(Isr_Irq), this ); if (!NT_SUCCESS(status)) { Invalidate(); return status; } m_DpcFor_Irq.Setup(LinkTo(DpcFor_Irq), this); 我在Isr中什么都没有做,只是想让他输出调试信息 t<<\"interrupt\\n\"; return FALSE; 但是这个驱动就装不上,装的时候要重启,重启了还是不能启动驱动 我不知道是什么原因。 后来我又用wizard生成了一个isa总线的驱动,带有irq。但是这次安装驱动,系统不重启,说我的inf文件的逻辑设置有误。 不知道各位遇到过这个问题没有,我估计和inf有关,但不知道怎么改,还望知道解决这些问题的大虾赐教。 感谢了! |
|
沙发#
发布于:2003-10-08 08:31
并口中断必须先使能并口中断,获取设备资源,然后初始化并连接中断
|
|
|
板凳#
发布于:2003-10-08 10:24
非常感谢帮助,但是我想问题可能不在那里。
因为我做实验的时候并没有指定一定是等并口中断。 错误出现的原因是 我生成的inf文件中的IRQConfig没有制定,我后来把它改成7,就可以安装了。 但是IoConfig中,它的范围还是和并口冲突。 不知道有什么好办法? |
|
地板#
发布于:2003-10-08 11:09
生成的inf还要制定IRQConfig吗?是不是要制定这个才能发生中断?
|
|
|
地下室#
发布于:2003-10-08 11:51
生成的inf还要制定IRQConfig吗?是不是要制定这个才能发生中断? 非PnP 的 ISA 驱动需要在INF中指定资源IRQConfig和IoConfig,PnP设备的驱动就不需要了。 |
|
|
5楼#
发布于:2003-10-08 12:14
看你的中断的生成方式了,如果你的中断对象生成的时候没有指定中断号,那么可能就要在inf中制定你的驱动所能处理的中断范围。
比方说,你用向导生成的时候说明了驱动有中断资源,那么它就是这种方式,在配置文件中会有一个IRQConfig栏让你去填具体的数值,可以是个范围,当然在生成中断对象的时候也可以初始中断号。没试 |
|