中断优先级
/*配置中断引脚*/void exti_config(void)
{
//GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//设置NVIC优先级分组为Group2:2位先占优先级(0-2),2位子优先级(0-2)
GPIO_EXTILineConfig(button_port_source,button1_source); //选择按键1的GPIO管脚(端口+管脚号)做外中断源
GPIO_EXTILineConfig(button_port_source,button2_source); //选择按键2的GPIO管脚(端口+管脚号)做外中断源
EXTI_InitStructure.EXTI_Line = button1_exti_line|button2_exti_line; //设置按键所有的外部线路
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //设置为外部中断模式
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //设置触发模式为下降沿触发
EXTI_InitStructure.EXTI_LineCmd = ENABLE; //使能该线路中断
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = button_irqn; //使能按键所在的外部中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00; //
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; //从优先级15
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器
GPIO_EXTILineConfig(button_wakeup_gpio_source, button_wakeup_source);
EXTI_InitStructure.EXTI_Line = button_wakeup_exti_line ; //设置按键所有的外部线路
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //设外外部中断模式:EXTI线路为中断请求
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd = ENABLE; //使能外部中断新状态
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = button_wakeup_irqn; //使能按键所在的外部中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00; //抢占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; //从优先级2
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
NVIC_Init(&NVIC_InitStructure); //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器
}
既然NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);设置能了2位,2位,为何NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00; //
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; //从优先级15这里有个15,个人理解2位最大为4吧。求解释?
我是来赚铜板的:lol yilusuiyuan 发表于 2014-7-21 10:47 static/image/common/back.gif
谢谢亮哥,写超了会在自动截取符合要求的值。
:handshake 亮点 发表于 2014-7-21 10:27 static/image/common/back.gif
你说的很对,这里的代码没有修改完善,应该是0X03就可以了
谢谢亮哥,写超了会在自动截取符合要求的值。 你说的很对,这里的代码没有修改完善,应该是0X03就可以了
页:
[1]