STM32/STM8技术william hill官网
直播中

Mr_RMS

7年用户 327经验值
擅长:可编程逻辑 嵌入式技术 处理器/DSP 接口/总线/驱动 控制/MCU
私信 关注
[问答]

stm32的NVIC抢占与响应优先级

    STM32的NVIC的响应优先级的意思是,在同一级的抢占优先级的前提下,正在执行一个优先级低的中断,就算后面来了一个高级优先级的中断,也要等这个中断执行完才会响应。。
    51单片机的优先级没有抢占功能吗?即51在执行一个中断的时候,来了一个中断优先级更高的中断,程序会不会停止当前的中断,去执行这个更高级的中断?

回帖(2)

1158189985

2017-4-15 17:07:19
本帖最后由 1158189985 于 2017-4-16 10:49 编辑

       51也是有抢占功能的,执行一个中断时,来了一个中断优先级更高的中断,会形成中断嵌套。
       原因解释:在51单片机中,专门有一个中断优先级寄存器IP,用来设置中断的优先级,针对51的5个中断源,其优先控制位如图所示:
QQ图片2017041615.png


QQ图片20170416102515.png

0最最大,之后递减

       补充一句,上图是没有设置中断优先级情况下,几个同级中断同时发出中断请求,就会按照上表响应中断。
       注意的是,51中高优先级中断能打断低优先级中断以形成中断嵌套,也就是楼主的主要问题,同级或低对高则不能形成。也就是说,51只有两个优先级,高优先级、低优先级,而且是根据你实际需要去调整的。可以实现中断嵌套。

举报

Mr_RMS

2017-4-16 18:02:27
是不是可以这么认为,51的中断嵌套与Stm32全部设置成抢占优先级的效果是一样的呢?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分