NVIC 简介、抢占优先级和响应优先级

NVIC是嵌套向量中断控制器,负责管理芯片中断优先级,包括抢占优先级和响应优先级。抢占优先级允许更高优先级的中断打断低优先级任务,而响应优先级则决定了在当前任务完成后,哪个等待中断会优先被处理。这一机制在STM32中通过类似医院叫号系统的例子得以生动解释。
摘要由CSDN通过智能技术生成

NVIC 简介

NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。
在这里插入图片描述
如果医院只有医生的话,当看病的人很多时,医生就得安排一下先看谁,后看谁,如果有紧急的病人,那还得让紧急的病人最先来,这个安排先后次序的任务很繁琐,会影响医生看病的效率。
所以医院就安排了一个叫号系统,来病人了统一取号,并且根据病人的等级,分配一个优先级,后叫号系统看一下现在在排队的病人,优先叫号紧急的病人
最终叫号系统给医生输出的就是一个一个排好队的病人,医生就可以专心看病了
这个叫号系统在STM32里就是NVIC

抢占优先级和响应优先级

为了处理不同形式的优先级,STM32的NVIC可以对优先级进行分组,分为抢占优先级和响应优先级,那这两种形式的优先级有什么区别的
我们还来看一下病人叫号的这个例子
对于紧急的病人,其实有两种形式的优先

响应优先级

一种是,上一个病人在看病,外面排队了很多病人,当上一个病人看完后,紧急的病人即使是后来的,也会最先进去看病,这种相当手插队的优先级,就叫响应优先级,响应优洗级高的。可以插队提前看病
在这里插入图片描述

抢占优先级

另外如果这个病人更加紧急,并且此时已经有人在看病了,那他还可以不等上个人看完,直接冲到医生的屋里,让上一个病人先靠边站,先给他先看病,等他看完了,然后上一个病人再继续,上一个病人结束了,叫号系统再看有没有人来,这种形式的优先就是中断嵌套,这种决定是不是可以中断嵌套的优先级,就叫抢占优先级
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不熬夜,早点睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值