天天看点

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