按键长按会触发多次
长按一次按键,程序里会收到多次按下事件逻辑分析仪看看按键波形 软件防抖时间够不够 用状态机方式处理长按 我遇到过是定时器频率设置问题 按键硬件上加RC延迟试试 检测方式是中断还是轮询 长按时定时器溢出会重复触发 代码逻辑里分清按下和释放 用标志位屏蔽多次响应 高频抖动会导致多次判断 你拿示波器看看,长时间按下的时候,按键信号有没有抖动。若是没有抖动就是软件的问题,建议用定时器设置定时检测按键状态,多次检测为按下状态时再标记按键是按下状态。若是不放心,可以再加上多次检测为释放状态时(就是在定时器中断里加变量计数)再标记按键是释放状态,来清楚大部分抖动,若是抖动影响按键,就增加定时器中断中的变量计数次数。
页:
[1]