天天看點

STM8L中斷線和中斷端口使用方法

設定中斷有兩種方法:

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();                                                  //使能全局中斷