在HAL_INIT里面已经设置好了优先级分组
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
但是在外部中断,
HAL_NVIC_SetPriority(EXTI0_IRQn,2,0); //抢占优先级为2,子优先级为0
HAL_NVIC_EnableIRQ(EXTI0_IRQn); //使能中断线0
//中断线2
HAL_NVIC_SetPriority(EXTI2_IRQn,2,1); //抢占优先级为2,子优先级为1
HAL_NVIC_EnableIRQ(EXTI2_IRQn); //使能中断线2
//中断线3
HAL_NVIC_SetPriority(EXTI3_IRQn,2,2); //抢占优先级为2,子优先级为2
HAL_NVIC_EnableIRQ(EXTI3_IRQn); //使能中断线2
//中断线13
HAL_NVIC_SetPriority(EXTI15_10_IRQn,2,3); //抢占优先级为3,子优先级为3
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); //使能中断线13
分组4不是没有响应优先级的吗?为什么设置外部中断优先级的时候,还设置了响应优先级?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
是的,如果不对应就会出问题
一周热门 更多>