百问网物联网实战-STM32中断

一、中断优先级分组

抢占优先级和子优先级,它们的级数(数量),由 优先级分组 决定 (也就是AIRCR寄存器的 Bits[7:0])。STM32只使用其中Bits[7:4],也就是一部分。

 对应在STM32CubeMX配置就是:

STM32CubeMX生成对应的代码: HAL_Init(void) ->HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);

STM32F103不使用PRIGROUP来命名分组,而采用NVIC_PRIORITYGROUP_x的方式命名,
即NVIC_PRIORITYGROUP_0对应PRIGROUP为7,在“stm32f1xx_hal_cortex.h”有相关定义。

使用“HAL_NVIC_SetPriority()”函数设置不同中断的抢占优先级级数和子优先级级数:
MX_NVIC_Init(void)
​ -> HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 0);
​      HAL_NVIC_EnableIRQ(EXTI0_IRQn);

嵌套中断:

  STM32F1中断的优先级:

  3个固定的优先级,都是负值,不能改变

  四个可编程优先级,用两个bit位表示,00,01,10,11

  优先级越小优先级越高

不同优先级的中断同时发生,优先处理优先级编号较小的那个 同样优先级的中断同时发生,中断向量号较小的那个优先响应。

  外部中断控制器EXTI

  内容概要:

  外部中断控制器EXTI

  系统配置控制器SYSCFG

  外部中断/事件框图

  外部中断控制器EXTI:

  在 STM32F05x 中,共有最多 28 中断 / 事件线可用:

  GPIO 口连接到 16 个外部中断 / 事件线


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值