STM32通过按键中断点亮led灯

#include "EXTI.h"  
  
void EXTI_KEY_Init(void)  
{  
//配置PB11为下降沿触发  
GPIO_InitTypeDef GPIO_InitStructure;  
    EXTI_InitTypeDef EXTI_InitStructure;  
    NVIC_InitTypeDef NVIC_InitStructure;  
//配置管脚时钟和复用时钟  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);  
//配置GPIO口为上拉输入  
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;                 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;         
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         
GPIO_Init(GPIOC, &GPIO_InitStructure);    
//配置GPIO为外部中断模式  
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource11);  
      
    //配置EXTI中断触发模式  
  
    EXTI_InitStructure.EXTI_Line = EXTI_Line11;  
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;  
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;  
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;  
    EXTI_Init(&EXTI_InitStructure);  
  
//配置EXTI中断优先等级  
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;  
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  
NVIC_Init(&NVIC_InitStructure);  
  
  
}  
STM32通过按键中断点亮led灯_第1张图片

你可能感兴趣的:(STM32通过按键中断点亮led灯)