学习日记,今天照着江科大学习stm32单片机,死活进不了NVIC中断,原来是最后少加了Init初始化
void Count_Init(){
// 启用GPIOB的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
GPIO_InitTypeDef GPIO_InitStructure; // 定义GPIO初始化结构体
// 配置GPIOB Pin 14为推挽输出模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; // GPIOB Pin 14
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 推挽输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 设置GPIO速度为50MHz
// 初始化GPIOB Pin 14
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource14);
EXTI_InitTypeDef EXTI_InitStruct;
EXTI_InitStruct.EXTI_Line=EXTI_Line14;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_Init(&EXTI_InitStruct);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitTypeDef NVIC_config;
NVIC_config.NVIC_IRQChannel=EXTI15_10_IRQn;
NVIC_config.NVIC_IRQChannelCmd=ENABLE;
NVIC_config.NVIC_IRQChannelPreemptionPriority=1;
NVIC_config.NVIC_IRQChannelSubPriority=1;
NVIC_Init(&NVIC_config);
}
大家初始化的时候一定要记得在结尾xxxx_Init接一下结构体的地址