设置中断有两种方法:
1: 中断线;
2:中断端口;
方法1:
GPIO_Init( KEY1_PORT, KEY1_PIN ,GPIO_Mode_In_FL_IT); //按键初始化
EXTI_SetPinSensitivity(EXTI_Pin_1,EXTI_Trigger_Falling); //设置外部中断1 为下降沿有效
enableInterrupts(); //使能全局中断
中断入口
disableInterrupts(); //关闭中断
//处理事件
EXTI_ClearITPendingBit(EXTI_IT_Pin1); //清除中断标志位
enableInterrupts(); //使能全局中断
方法2:
EXTI_DeInit(); //中断初始化
EXTI_SelectPort(EXTI_Port_B); //选择GPIOB
EXTI_SetHalfPortSelection(EXTI_HalfPort_B_LSB ,ENABLE ); //选择PB[3:0]
EXTI_SetPinSensitivity(EXTI_Pin_1, EXTI_Trigger_Falling); //选择端口线1 下降沿
ITC_SetSoftwarePriority(EXTI1_IRQn, ITC_PriorityLevel_1); //设置中断优先级
GPIO_Init( GPIOB, GPIO_Pin_1, GPIO_Mode_In_FL_IT); //初始化端口GPIOB_1
中断入口
disableInterrupts(); //关闭中断
//处理事件
EXTI_ClearITPendingBit(EXTI_IT_PortB ); //清除标志位
enableInterrupts(); //使能全局中断