在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
函數或者具