在用按键中断的例程的时候,比如按下按键实现流水灯,在流水灯中使用的是 Systick(系统定时器)延迟时间;然后烧程序进去发现按下按键的时候只能亮第一盏灯,卡死在那了。不知道是不是中断优先级的问题,然后设置按键中断优先级为
static void NVIC_Configuration(void) //配置中断控制器的函数
{
NVIC_InitTypeDef NVIC_InitStructure;
/* Configure one bit for preemption priority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3); //优先级分组设置为第三组
/* 配置中断源 */
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =7; //配置抢占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //配置响应优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
不知道是哪里出的问题 |