STM32-EXTI
配置PA15为上升沿外部中断
配置NVIC中断优先级
贴初始化代码
/*gpio.c*/
void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOA_CLK_ENABLE();
/*Configure GPIO pin : PA15 */
GPIO_InitStruct.Pin = GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 3, 0);//设置中断优先级分组
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);//使能中断
}
定义中断相关函数
void EXTI15_10_IRQHander(void)//中断事件线
{
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_15);
}
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)//中断回调函数-通用接口
{
if(GPIO_Pin==GPIO_PIN_15)//实现相应定义
{
//USER CODE
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
}
}
按下按键(PA15),就可以看到灯闪烁了