H7 外部中断优先级设置以及HAL_Init优先级分组疑问

2019-07-20 01:40发布

在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不是没有响应优先级的吗?为什么设置外部中断优先级的时候,还设置了响应优先级?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
taizonglai
1楼-- · 2019-07-20 03:46
例程应该是在更新HAL库的时候忘了修改HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4),你把它改为组2就行了
烈日灼心
2楼-- · 2019-07-20 07:19
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-20 12:05
烈日灼心 发表于 2019-5-23 15:40
谢谢左工,如果按照程序这样的话,是不是你设置的响应优先级就是没用的?

是的,如果不对应就会出问题

一周热门 更多>