STM32中--NVIC的介绍和工作原理

一,NVIC

        NVIC就是Nested Vectored Interrupt Controller(嵌套向量中断控制器),STM32中的中断控制器,负责管理与协调处理器的中断请求,是STM32处理异步事件的重要机制。

        NVIC提供了灵活、高效、可扩展的中断处理机制,支持多级优先级、多向中断、嵌套向量中断等特性。当一个中断请求到达时,NVIC会确定其优先级并决定是否应该中断当前执行的程序,以便及时响应和处理该中断请求。这种设计有助于提高系统的响应速度和可靠性,特别是在需要处理大量中断请求的实时应用程序中。
 

NVIC 支持:(10个内部中断,60个外部中断)8位的,所以256个中断(16内核+240外部),支持:256个优先级,允许裁剪。

二,NVIC工作原理

 

三,中断优先级的概念

        STM32的中断优先级可划分为:抢占优先级,响应优先级,自然优先级

        抢占优先级:

        如果一个中断的抢占优先级高于当前执行的中断,那么它可以打断当前中断,优先执行。数值越小,优先级越高。

        响应优先级:

        如果两个中断同时到达,且他们的抢占优先级相同,那么响应优先级高的中断将首先得到响应。数值越小,优先级越高。

        自然优先级:

        自然优先级是由硬件固定并预先设定的,用户无法更改。当抢占优先级和响应优先级都相同时,自然优先级将决定哪个中断先得到处理

        优先级执行顺序:

        1.当多个中断同时发送时,执行顺序首先由抢占优先级决定。如果抢占优先级相同,则进一步由响应优先级决定。如果响应优先级相同,则最终由自然优先级决定

        2.当中断嵌套情况下,高抢占优先级的中断可以打断抢占优先级的中断,但高响应优先级的中断不能打断低响应优先级的中断(当它们具有相同的抢占优先级时)

        优先级分组:

        优先级寄存器IPR有8位,实际只用高四位,用于决定抢占优先级,响应优先级的等级

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值