中断编程的顺序:
1.选择中断分组: NVIC_PriorityGroupConfig()
2.初始化结构体: NVIC_InitTypeDef()
3.配置NVIC寄存器: NVIC_Init(NVIC_InitTypeDef)
4编写中断服务函数.
NVIC_InitTypeDef()初始化结构体
1.NVIC_IRQChannel:中断源
2.NVIC_IRQChannelPreemptionPriority:抢占优先级
3.NVIC_IRQChannelSubPriority:响应优先级
4.NVIC_IRQChannelCmd:使能或禁止
外部中断:
EXTI_InitTypeDef 初始化结构体
1-EXTI_Line:用于产生中断/事件线
2-EXTI_Mode : EXTI模式(中断/事件)
3-EXTI_Trigger:触发(上/下/上下)
4-EXTI_LineCmd:使能或者失能(IMR/EMR)
2.实现步骤
1-初始化要连接到EXTI的GPIO(在GPIO_EXTILineConfig()设置)
2-初始化EXTI用于产生中断/事件
3-初始化NVIC,用于处理中断
4-编写中断服务函数
5-main函数