问题描述:
PB5 引脚上有一个按键,平时为低电平,按下后为高电平。
中断响应函数如下:
void EXTI9_5_IRQHandler(void)
{
// 确保是否产生了 EXTI Line 中断
if (EXTI_GetITStatus(KEY1_INT_EXTI_LINE) == SET) {
printf("KEY1 被按下\r\n");
LED1_TOGGLE;
EXTI_ClearITPendingBit(KEY1_INT_EXTI_LINE); // 清楚中断标志位
}
}
可以响应中断,中断函数能被调用,但是只能响应一次。
解决办法:
在函数所在文件添加如下代码:
void EXTI9_5_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
加作者微信:jiyuyun18(积雨云), 交流电子技术
留言:CSDN入群,加入电子技术讨论群
留言:CSDN资料,领取免费电子技术学习资料