中断优先到底指哪种?

[复制链接]
2395|7
 楼主| Jack602 发表于 2010-11-30 12:03 | 显示全部楼层 |阅读模式
本帖最后由 Jack602 于 2010-11-30 14:16 编辑

51 中断优先是指:

2个中断同时到达时,谁优先级高执行谁

还是说..如果中断1和中断2, 在中断1中断服务函数还在执行的情况下,这时候如果触发中断2可以打断中断1?

不知道是那层意思?

还是说51中断在该次没结束前

是不会再响应其他中断的

以上三个问题...等待老鸟解答...

谢谢艾弗森和chunyang...

我手册有点看不懂..请帮我解释下好吗





就是上面的IP0H和IP一个说定义为高级优先,一个又表示较高优先..这是什么意思呢?
比如我现在要设定外部中断0优先级最高,应该是设定PX0H=1  那下表的PX0是什么意思? 谢谢...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
liang7143 发表于 2010-11-30 12:07 | 显示全部楼层
优先级高的中断会优先执行,不管之前是在运行什么,不管是主程序,还是优先级低的程序
chunyang 发表于 2010-11-30 12:44 | 显示全部楼层
中断请求同时发生,高优先级的先得到响应。
当一个中断已被响应时,更高优先级别的中断请求发生,当前中断将被更高优先级别的中断请求取代。
 楼主| Jack602 发表于 2010-11-30 13:54 | 显示全部楼层
优先级高的中断会优先执行,不管之前是在运行什么,不管是主程序,还是优先级低的程序
liang7143 发表于 2010-11-30 12:07

艾弗森上面2寄存器,您呢帮我解释下吗
比如我现在要设定外部中断0优先级最高,应该是设定PX0H=1  那下表的PX0是什么意思? 谢谢...
chenczy 发表于 2010-11-30 15:21 | 显示全部楼层
不知道你是什么芯片,按字面理解是,上面的是最高优先,下面第二优先,不知道是不是,最好是找懂这个芯片的人看看
chunyang 发表于 2010-11-30 15:34 | 显示全部楼层
中断本身有优先级,通过优先级寄存器的设置可改变默认优先级,同级优先级的话,则原优先的先得到响应。举例:MCS51中,外中断0的默认优先级最高,如果设置寄存器使串口接收中断优先级更高,那么串口接收中断将首先响应,但如果二者的设置优先级相同,那么仍然是外中断0优先响应。
liang7143 发表于 2010-11-30 21:41 | 显示全部楼层
艾弗森上面2寄存器,您呢帮我解释下吗
比如我现在要设定外部中断0优先级最高,应该是设定PX0H=1  那下表的PX0是什么意思? 谢谢...
Jack602 发表于 2010-11-30 13:54

PX0是较高优先级,
设置PX0,优先级应该是大于自然优先级(不设置IP和IPOH中对应位),小于最高优先级
原野之狼 发表于 2010-12-1 00:45 | 显示全部楼层
1、同时到达,高优先级先执行。
2、ISR执行当中,若有更高优先级中断来临切嵌套允许,则执行更高优先级的程序。
3、同2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

209

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部