
stm32学习之按键输入检测
发布日期:2021-05-20 09:28:30
浏览次数:13
分类:精选文章
本文共 701 字,大约阅读时间需要 2 分钟。
按键输入的检测有两种基本情况需要处理:
第一种情况是支持连续按。这种设计类似于电视遥控器,只要保持按键按下状态,系统每隔一定时间都会检测一次。例如,静音或调节音量时,持续按键即可实现功能。系统不需要关心上一次是否为有效输入,只要当前检测到低电平(接近报警电平的信号),即可触发相应反应。
第二种情况是不支持连续按。这种情况常见于电源开关等功能。按下按钮后,按钮状态通常会被固定的电平占用(如高电平)。接下来若检测到低电平,才会发现上一次的电平是否为预期状态。如果是高电平延迟,则认为是新输入,才执行相应操作。
实现这种区别的关键在于对电平检测结果进行处理。对于支持连续按的按键,只需要每次检测都触发功能即可。而对不支持连续按的按键,则需要结合先前的电平状态进行判断。例如,上一次是否为高电平,只有当当前检测到低电平时,才会认为是一个有效的按键按压动作。如果是高电平,可能只是按键长时间未释放的情况。
在具体代码实现中,可以通过记录上一次的状态来判断当前输入是否有效。例如,使用static关键字可以保持变量在方法间保持不变,这样每次方法调用时都可以访问和更新状态变量。通过这种方式,系统能够判断当前按压是否是新的有效输入。
这样的设计不仅能够实现按键输入的检测功能,还可以保证系统处理的准确性和可靠性。静态变量的使用能够帮助系统记住上一次的状态,从而做出相应的判断。这与底层硬件差异结合后带来的差异有着重要区别,例如同一按键有时需要上下级控制器协同才能完成。
通过这种方式,不论是按键输入是否需要支持连续按,系统都能正确识别有效输入,确保函数的执行逻辑一致性。这也是在实际硬件开发中需要注意的重要细节。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年05月04日 05时33分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python IO编程
2019-03-06
CSS入门总结
2019-03-06
使用 TortoiseGit 时,报 Access denied 错误
2019-03-06
基于 HTML5 WebGL 的污水处理厂泵站自控系统
2019-03-06
django-表单之模型表单渲染(六)
2019-03-06
c++之程序流程控制
2019-03-06
spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!
2019-03-06
有道云笔记 同步到我的博客园
2019-03-06
李笑来必读书籍整理
2019-03-06
Hadoop(十六)之使用Combiner优化MapReduce
2019-03-06
《机器学习Python实现_10_06_集成学习_boosting_gbdt分类实现》
2019-03-06
CoreCLR源码探索(八) JIT的工作原理(详解篇)
2019-03-06
andriod 开发错误记录
2019-03-07
C语言编译错误列表
2019-03-07
看明白这两种情况,才敢说自己懂跨链! | 喵懂区块链24期
2019-03-07
python中列表 元组 字典 集合的区别
2019-03-07
Android DEX加固方案与原理
2019-03-07
iOS_Runtime3_动态添加方法
2019-03-07