先简单讲个例子:
void NVIC_Configuration(void) //中断管理初始化
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //首先要中断分组。 设置NVIC中断分组2, 2位抢占优先级,2位响应优先级
//分完组之后,具体对需要的中断进行设置优先级(抢占式优先级和响应式优先级都要设置)
//这里设置TIM3中断的优先级别
NVIC_InitStructure.NVIC_IRQChannel= TIM3_IRQn; // 选择定时器3全局中断。 旧版本为TIM3_IRQChannel 。下面几行程序分别对TIM3中断级别的设置
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 0; //抢占式优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority= 3; //响应式优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd= ENABLE; //TIM3通道使能(该句程序可以在写在定时器初始化中)
NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器,有了这句,上面的设置才有效。
}
总结1:对于中断管理就6句程序便可:先定义个结构体-----然后设置分组------选定中断通道-------设置具体要设置摸个中断的抢占式优先级和响应式优先级----参数化有效。
一:综述
STM3
本文介绍了STM32中断优先级的配置方法,包括中断管理的基本步骤、优先级判断原则、优先级分组概念及其在STM32中的实现。通过NVIC_InitTypeDef结构体和NVIC_PriorityGroupConfig函数,可以设置中断分组和具体中断的抢占式和响应式优先级,以确保中断的正确处理和执行顺序。
最低0.47元/天 解锁文章
754

被折叠的 条评论
为什么被折叠?



