社区
驱动开发/核心开发
帖子详情
进入一个中断的中断处理程序时为什么要先关此中断,不关行吗?
qhsjcyc
2008-08-18 08:32:49
进入一个中断的中断处理程序时为什么要先关此中断,不关行吗?
请大家指教
...全文
2278
11
打赏
收藏
进入一个中断的中断处理程序时为什么要先关此中断,不关行吗?
进入一个中断的中断处理程序时为什么要先关此中断,不关行吗? 请大家指教
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ghlhy0505
2012-05-22
打赏
举报
回复
这帖子有年头了啊。。。。vxd驱动吗?我看wdm和nt驱动里,中断处理函数中没有关掉irp啊,最后处理完了要调用iocompleterequest 处理完成一下,这个算是关闭了么?
cde588
2012-05-22
打赏
举报
回复
ls的lz问的在执行中断处理程序时,禁止其他中断源的中断请求,那么多人回答,还不如你啊!
chancy3100
2010-10-01
打赏
举报
回复
就是中断嵌套的问题了。
r379746075
2010-10-01
打赏
举报
回复
ls的看清楚 LZ说的是关此中断 不是全局中断 扯什么优先级?
coding码场
2010-09-30
打赏
举报
回复
[Quote=引用 1 楼 niezheyuan 的回复:]
防止中断嵌套。有的硬件体系结构不支持中断嵌套,有的也可以不关中断的,要看具体的硬件体系系统。
[/Quote]对!
JINGRH
2010-09-30
打赏
举报
回复
就是不关也不会发生本中断嵌套吧?在允许高级中断嵌套的时候,是不是可以不关。既然设高级中断一般应该会允许的,所有我也想不通为什么要关中断。
bendragon
2008-09-01
打赏
举报
回复
一般是要关的,防止中断内的事件还没处理完,又来本中断了,本中断自己嵌套时就是不正确的
freshui
2008-08-19
打赏
举报
回复
一般的系统上进入中断硬件都是自动关中断的
当然是为了防止中断嵌套了
Ackarlix
2008-08-19
打赏
举报
回复
【挨踢网】
中文IT技术社区
http://www.aitic.net/bbs
挨踢网-【C/C++ ①】:8784495 (已满)
挨踢网-【C/C++ ②】:64236420
挨踢网-【JAVA技术】:58262309 (已满)
挨踢网-【WEB 技术】:67677459
挨踢网-【搜索引擎】:19597728
挨踢网-【STL 模板】:68385322
挨踢网-【网络技术】:68385407
挨踢网-【 嵌入式 】:68385458
挨踢网-【资源共享】:68385507 (挨踢网会员才可加入)
欢迎大家加入交流!
gooogleman
2008-08-19
打赏
举报
回复
[Quote=引用 1 楼 niezheyuan 的回复:]
防止中断嵌套。有的硬件体系结构不支持中断嵌套,有的也可以不关中断的,要看具体的硬件体系系统。
[/Quote]
就是这样,防止产生一个更高优先级的中断
niezheyuan
2008-08-19
打赏
举报
回复
防止中断嵌套。有的硬件体系结构不支持中断嵌套,有的也可以不关中断的,要看具体的硬件体系系统。
Linux内核设计与实现---
中断
和
中断
处理程序
中断
和
中断
处理程序
1
中断
2
中断
处理程序
3 注册
中断
处理程序
4 编写
中断
处理程序
共享的
中断
处理程序
中断
处理程序
实例5
中断
上下文6
中断
处理机制的实现7
中断
控制禁止和激活
中断
禁止指定
中断
线
中断
系统的状态 1
中断
2
中断
处理程序
3 注册
中断
处理程序
4 编写
中断
处理程序
共享的
中断
处理程序
中断
处理程序
实例 5
中断
上下文 6
中断
处理机制的实现 7
中断
控制 禁止和激活
中断
禁止指定
中断
线
中断
系统的状态 ...
计算机系统中程序
中断
的基本概念 ,
中断
分类 ,流程详解
排队器的输出是对各个
中断
信号择优后的
一个
信号,此
时
对应
一个
中断
源信号,此
时
通过
中断
向量地址形成部件生成
中断
向量地址,
中断
向量地址存储的指令可以跳转到
中断
处理程序
的入口地址(
中断
向量就是
中断
处理程序
的地址)为何要使用
中断
向量地址的形式,如果
中断
向量地址形成部件直接生成
中断
处理程序
的地址,那么当
中断
处理程序
的地址改变,那么此
时
需要修改
中断
形成部件的电路结构以生成对应的修改后的
中断
处理程序
地址,这样很麻烦。为此,要进行
中断
排队。关
中断
使得
中断
服务程序一气呵成,不会被其他
中断
打断,直到
中断
服务程序结束
时
再开
中断
。
什么是
中断
,为什么要用
中断
?
中断
解析
一、
中断
是什么
中断
的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢?
举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。等啊等啊,外边突然传来了惊奇的叫声“怎么不关水龙头?”于是我惭愧的发现,刚才接水之后只顾着抱怨这份无聊的差事,居然忘了这事,于是慌慌张张的冲向水管,三下两下关了
汇编语言编写
中断
的
处理程序
CPU都具有执行完当前正在执行的指令之后,检测到从CPU外部(外
中断
)或内部(内
中断
)产生的一种特殊信息,并且可以立即对所接收到的信息进行处理。称这样的信息为:
中断
信息。 CPU有四种情况可以产生
中断
信息: (1) 除法错误 (2) 单步执行(能够用来实现debug中一步一步执行程序并返回寄存器状态的操作) (3)执行into指令 (4)执行int指令 编写
中断
的
处理程序
有多个步骤 首先,CPU接收到
中断
类型码(
一个
字节型数据),然后通过
中断
向量表找到对应的
中断
处理程序
的入口地址。
中断
向量表是入口地址的列表
中断
标志位不清除会怎么样?
中断
标志位不清除会怎么样?
中断
标志位不清除, 结果是完成
中断
处理程序
后, 它就继续再进
中断
, 根本不会回到主程序。 代码如下(示例): void EXTI2_IRQHandler(void) { delay_ms(10); //消抖 if(KEY2==0) { LED0=!LED0; } //EXTI_ClearITPendingBit(EXTI_Line2);//清除LINE2上的
中断
标志位 这里的清除
中断
标志位的一行代码被我注释掉了,所以并没有清除
中断
标志
驱动开发/核心开发
21,615
社区成员
21,711
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章