STM32—中断

STM32的中断和异常系统通过抢占优先级和子优先级来管理中断响应顺序。中断优先级分组允许灵活配置,抢占优先级高的中断可以嵌套执行,而子优先级用于同抢占优先级下的排序。NVIC负责可编程的中断优先级设置,当多个中断同时挂起时,优先级和子优先级决定执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是中断在这里插入图片描述

STM32异常和中断
在这里插入图片描述
STM32的异常一览表
在这里插入图片描述
STM32的中断表一览
在这里插入图片描述

中断的优先级

在这里插入图片描述
数值越小,优先级越高
中断的优先级分组
在这里插入图片描述
在这里插入图片描述
帮助理解:对于组0,抢占优先级为0,表示他没有抢占优先级,4个bit全部用来表示子优先级。对于组1,抢占优先级为0-1,用1个bit表示抢占优先级,其余3个bit表示子优先级…

(1)通过优先级分组,可以管理中断的响应顺序
(2)只有抢占优先级才由抢占中断权限,发生中断嵌套,打断就发生中断嵌套,没有能力打断,那就被挂起
假如事件A抢占优先级为0,B的抢占优先级为10,在B执行过程中,A发出中断请求,则会抢过B中断的使用权,等A执行完毕再继续执行B(ps:如果A并不能打断事件B,A就会被挂起)
(3)如果中断抢占优先级相同,不发生抢占
(4)如果多个挂起的中断具有相同的抢占优先级,则子优先级高的先行,如果子优先级相同,则IRQ(通常指外部中断请求)编号小的先行(下图IRQ来源例如:stm32f103xb.h)
抢占优先级>子优先级>IRQ编号
在这里插入图片描述
(5)可编程的优先级,通过嵌套向量中断控制器(NVIC)实现
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值