設定中斷有兩種方法:
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(); //使能全局中斷