[其他ST产品] Stm32解决按键长按与短按

[复制链接]
4174|64
llljh 发表于 2023-5-10 21:18 | 显示全部楼层

如何判断这个的时间阈值呢              
chenho 发表于 2023-5-10 21:19 | 显示全部楼层
中断方式可以通过将按键连接至GPIO外部中断线来实现。
stly 发表于 2023-5-10 21:21 | 显示全部楼层
当按键被按下时,会触发该GPIO的外部中断。
pengf 发表于 2023-5-10 21:22 | 显示全部楼层
在中断处理函数中可以设置一个定时器来延迟一段时间
chenho 发表于 2023-5-10 21:23 | 显示全部楼层
再次检测按键状态。如果按键一直处于按下状态,则可以将其视为连续按键。
gongche 发表于 2023-5-10 21:24 | 显示全部楼层
用定时器中断去扫描按键所在IO口的电平,进行计次处理。
dengdc 发表于 2023-5-10 21:25 | 显示全部楼层
怎么跟调用的函数相结合呢              
heweibig 发表于 2023-5-10 21:26 | 显示全部楼层
利用状态机实现按键的长短按和双击  
yufe 发表于 2023-5-10 21:27 | 显示全部楼层

stm32 按键处理:单击、连击、长按 都可以am
huangchui 发表于 2023-5-10 21:28 | 显示全部楼层
需要考虑去抖动问题。可以通过软件去抖动或硬件去抖动的方式来解决。
wyjie 发表于 2023-5-10 21:32 | 显示全部楼层
有可以移植的库函数使用。
zwll 发表于 2023-5-11 19:11 | 显示全部楼层
如果是超时怎么判断呢              
chuxh 发表于 2023-5-11 19:12 | 显示全部楼层
通过轮询或中断的方式来实现。
langgq 发表于 2023-5-11 19:13 | 显示全部楼层
有全源代码吗?我移植没成功
juventus9554 发表于 2023-5-11 19:14 | 显示全部楼层

程序里最好不要有HAL_Delay
gongche 发表于 2023-5-11 19:15 | 显示全部楼层
轮询方式需要在主循环中不断地检测按键状态,当检测到按键被按下后,可以设置一个定时器来延迟一段时间
公羊子丹 发表于 2024-3-15 07:09 | 显示全部楼层

PCB也会使电源工作不稳定
万图 发表于 2024-3-15 08:12 | 显示全部楼层

这些交流电流的峰值有可能是连续输入或输出直流电流的2~5倍
帛灿灿 发表于 2024-3-15 11:11 | 显示全部楼层

输出滤波电容存储来自输出整流器的高频能量
Bblythe 发表于 2024-3-15 12:14 | 显示全部楼层

电源中都有一个交流电压最大的节点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部