打印

中断优先到底指哪种?

[复制链接]
1764|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是什么意思? 谢谢...

使用特权

评论回复
5
chenczy| | 2010-11-30 15:21 | 只看该作者
不知道你是什么芯片,按字面理解是,上面的是最高优先,下面第二优先,不知道是不是,最好是找懂这个芯片的人看看

使用特权

评论回复
6
chunyang| | 2010-11-30 15:34 | 只看该作者
中断本身有优先级,通过优先级寄存器的设置可改变默认优先级,同级优先级的话,则原优先的先得到响应。举例:MCS51中,外中断0的默认优先级最高,如果设置寄存器使串口接收中断优先级更高,那么串口接收中断将首先响应,但如果二者的设置优先级相同,那么仍然是外中断0优先响应。

使用特权

评论回复
7
liang7143| | 2010-11-30 21:41 | 只看该作者
艾弗森上面2寄存器,您呢帮我解释下吗
比如我现在要设定外部中断0优先级最高,应该是设定PX0H=1  那下表的PX0是什么意思? 谢谢...
Jack602 发表于 2010-11-30 13:54

PX0是较高优先级,
设置PX0,优先级应该是大于自然优先级(不设置IP和IPOH中对应位),小于最高优先级

使用特权

评论回复
8
原野之狼| | 2010-12-1 00:45 | 只看该作者
1、同时到达,高优先级先执行。
2、ISR执行当中,若有更高优先级中断来临切嵌套允许,则执行更高优先级的程序。
3、同2

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

209

帖子

2

粉丝