首页 > 试题广场 >

在嵌入式系统中,如何基于 GPIO 实现按键中断及长按检测

[问答题]
在嵌入式系统中,如何基于 GPIO 实现按键中断及长按检测?
将按键对应的GPIO端口配置为上拉输入,配置外部中断触发边沿为双边沿触发,在中断服务函数中进行检测,使用系统全局tick值,在进入中断后判断为下降沿时使用静态局部变量记录当前系统tick,再次进入判断为上升沿,此时将当前tick与上次下降沿进入的变量相减,可以得出按键按下的时间,当按下时间少于长按时间并大于短按时间时,判断为短按发生,当按下时间大于长按时间时判断为长按发生
发表于 2026-01-25 22:55:34 回复(0)