在STM32中改变中断优先级可以通过STM32CubeMX配置和代码中设置两种方式来实现。以下以STM32F1系列为例进行说明:
使用STM32CubeMX配置
- 打开工程:在STM32CubeMX中打开你的工程。
- 进入NVIC配置:在
Pinout & Configuration
选项卡中,点击NVIC
进入中断向量控制器配置界面。 - 选择中断源:找到你要设置优先级的中断源,比如之前配置的
EXTI Line0
。 - 设置优先级:在
Priority
列中,通过下拉菜单设置抢占优先级(Preemption Priority)和子优先级(Sub Priority)。数字越小,优先级越高。例如,将抢占优先级设为1,子优先级设为0。 - 生成代码:配置完成后,点击
Generate Code
生成代码,新的优先级设置会体现在生成的代码中。
在代码中设置
- 找到中断优先级配置相关代码:在生成的代码中,打开
stm32f1xx_hal_msp.c
文件,找到HAL_MspInit
函数或者具