stm32外部中断HAL库配置
·
PA0接WK_UP按键,按下高电平,松开低电平。
配置流程:
1.配置IO口时钟
__HAL_RCC_GPIOA_CLK_ENABLE();
2。配置IO口
GPIO_InitTypeDef GPIO_InitStruct = {0};
// 配置PA0引脚
GPIO_InitStruct.Pin = GPIO_PIN_0;
// 配置为双边沿中断模式
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
// 默认下拉
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
// 初始化PA0
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
3.找对应的中断函数
以对应引脚PA0的中断向量EXTI0在startup_stm32f103xb.s寻找对应中断函数EXTI0_IRQHandler
将中断处理代码写入中断函数中
void EXTI0_IRQHandler(void)
{
/* 清中断标志位*/
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
/* 双边沿计数 */
cnt=cnt+1;
}
4.使能中断并配置中断优先级
//配置EXTI0优先级 第0组第0个
HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0);
//使能中断
HAL_NVIC_EnableIRQ(EXTI0_IRQn);
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)