daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1088回复:5

关于中断的请教

楼主#
更多 发布于:2003-10-07 23:17
大家好,我现在遇到了一个问题,我用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有关,但不知道怎么改,还望知道解决这些问题的大虾赐教。
感谢了!
oetek
驱动牛犊
驱动牛犊
  • 注册日期2003-01-18
  • 最后登录2004-12-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-08 08:31
并口中断必须先使能并口中断,获取设备资源,然后初始化并连接中断
大江东去
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-08 10:24
非常感谢帮助,但是我想问题可能不在那里。
因为我做实验的时候并没有指定一定是等并口中断。

错误出现的原因是 我生成的inf文件中的IRQConfig没有制定,我后来把它改成7,就可以安装了。
但是IoConfig中,它的范围还是和并口冲突。
不知道有什么好办法?
CYoung
驱动中牛
驱动中牛
  • 注册日期2003-06-10
  • 最后登录2005-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-08 11:09
生成的inf还要制定IRQConfig吗?是不是要制定这个才能发生中断?
答得好的话,请兄弟们加点分,那是对我的肯定
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
地下室#
发布于:2003-10-08 11:51
生成的inf还要制定IRQConfig吗?是不是要制定这个才能发生中断?


非PnP 的 ISA 驱动需要在INF中指定资源IRQConfig和IoConfig,PnP设备的驱动就不需要了。
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-08 12:14
看你的中断的生成方式了,如果你的中断对象生成的时候没有指定中断号,那么可能就要在inf中制定你的驱动所能处理的中断范围。
比方说,你用向导生成的时候说明了驱动有中断资源,那么它就是这种方式,在配置文件中会有一个IRQConfig栏让你去填具体的数值,可以是个范围,当然在生成中断对象的时候也可以初始中断号。没试
游客

返回顶部