微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > stm32的NVIC抢占与响应优先级

stm32的NVIC抢占与响应优先级

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

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





0最最大,之后递减


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

是不是可以这么认为,51的中断嵌套与Stm32全部设置成抢占优先级的效果是一样的呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top