nvic的配置

1.设置优先级分组,HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2) 设置优先等级组为2
意思就是GROUP_2的意思是抢占式优先级有两位,子优先级有两位,假如是GROUP_3的话就是抢占式优先级有3位,子优先级有1位 。在实际工程中该函数在stm32f1xx_hal.c文件中的HAL_lnit中被调用了

(一个字节的高四位为stm32储存优先等级组分组信息(cotex内核的话是有8位来存储的,只不过stm32只用了高4位),)那么可能情况有以下几种
抢占优先级 子优先级
0 4
1 3
2 2
3 1
4 0

**2.**设置中断优先级
HAL_NVIC_SetPriority(中断类型,抢占优先级,子优先级)
案例 HAL_NVIC_SetPriority(USART1_IRQn,1,0) 该案例为 usart1的中断优先级配置,
中断类型包括
1系统中断类型
有譬如HardFault_IRQn ,PendSV_IRQn 等,
2nvic的外部中断
包括了WWDG_IRQn,DMA2_Channel2_IRQn 等好多其他的类型,

3 设置中断使能
HAL_NVIC_EnableIRQ(中断类型)

猜你喜欢

转载自blog.csdn.net/qq_35658327/article/details/88121066