在 STM32CubeMX 或 HAL 库中设置中断优先级。
1. STM32CubeMX 配置
选择中断源(如 EXTI 外部中断、USART 数据中断等)。
设置抢占优先级和子优先级。
生成代码。
2. HAL 库配置中断优先级
手动配置中断优先级和使能:
c
复制代码
// 配置 NVIC 中断优先级
HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority);
// 使能中断
HAL_NVIC_EnableIRQ(IRQn_Type IRQn);
// 禁用中断
HAL_NVIC_DisableIRQ(IRQn_Type IRQn);
示例:
c
复制代码
// 配置 EXTI0(PA0 按键)中断优先级
HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 1); // 抢占优先级 2,子优先级 1
HAL_NVIC_EnableIRQ(EXTI0_IRQn); // 使能中断
|