13237| 5
|
[进阶] Arduino编程之----如何让你的普通按键变为自锁按键 |
本帖最后由 何处不江南 于 2014-1-16 18:56 编辑 想让普通按键变为自锁按键,首先我们要解决3个问题。 1.什么是自锁按键? 首先理解下什么叫自锁按键。放张图,一目了然 ![]() file:///C:/Users/first%20user/AppData/Local/YNote/Data/yushigengyu%40qq.com/ccfb7020d1fb44239dc2fc0bb9ae1911/clipboard.png 自锁按键即按下去就锁住,不会自动弹起来,再按一次才会弹起来的一种按键,和开关非常相似。 2.为什么要使用自锁按键?即什么情况下我们要用自锁按键? 自锁按键使用范围很广。 如通常我们开关灯,开关电源,开关继电器等,都是希望我按一下按键,它们改变一下状态,从关闭变为开启,或者从开启作为关闭。 而不是按下开启,松开关闭。 3.怎么把普通按键变为自锁按键? 普通的做法如下: 读取按键状态。 若按键按下,则改变灯状态(开->关,关->开)。 如此循环。 那么以上做法有什么优缺点呢? 优点,代码简单,逻辑简单。 缺点,当按键持续按下时,你就发现灯一直在闪啊闪。。。 更好的做法: 那么什么是更好的做法呢,如下: 设置按键松开标志位 读取按键状态,若按键松开,则将按键松开标志位置为真。 若按键松开标志位为真,同时按键按下,则改变灯的状态,并把按键松开标志位置为假。否则不改变状态。 如此循环。 该代码的优点就是解决了普通方法的一直闪啊闪的问题。做到了按一下改变一次状态。 现在贴出代码。
说完发图一副,镇楼。 ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed