STM32具有极其强大的中断功能,不再赘述,只说明中断使用的方法步骤,以按键中断为例
1、初始化需要连接到EXTI的GPIO,方法与所有GPIO初始化方法一致,开时钟,配置结构体,写入寄存器
2、初始化EXTI外设,其中包括开时钟,配置中断源,中断线,模式,触发模式,使能中断,写入寄存器
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);
EXTI_InitStruct.EXTI_Line = EXTI_Line0;
EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStruct.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStruct);
3、配置NVIC,需要配置中断优先级分组,初始化NVIC结构体,写入寄存器
NVIC_InitTypeDef NVIC_In