找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Arduino教程-消除按键抖动!

查看数: 46281 | 评论数: 9 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-12-19 21:23

正文摘要:

Hi,大家好!又跟大家见面啦!在上一次讲解按键开关临近结束的时候,我们提到在正常的使用过程中,美中有不足,按键开关还有一个小问题需要解决。那是什么问题呢? 每当你按下或抬起按键开关的一瞬间,由于读取信 ...

回复

ID:138707 发表于 2023-7-29 18:32
很好的按键的函数 谢谢分享
ID:160932 发表于 2020-9-25 14:28
我是菜鸟,请问下:
// 定义按键输入针脚号常量,
// 并初始化为2号针脚。
const int buttonPin = 2;
这个可不可以用宏定义,因为引脚号基本只是指定,而不会在程序运行去改变的,是不是可以不用int变量,而用:#define buttonPin  = 2
宏定义是不占内存空间的吧,而一个int整型是要消耗内存的,不知我想的对不对?
ID:607710 发表于 2020-4-15 10:40
科比之心 发表于 2020-3-23 11:29
我分析这个地方应该是写错了,BUTTONSTATE在程序中没有用到,这个地方应该改成lastButtonState就可以了, ...

把这句"int reading = digitalRead(buttonPin);"改为#define reading   digitalRead(buttonPin);
就好理解了
ID:35955 发表于 2020-3-23 11:29
ZFDPJ 发表于 2017-11-26 02:48
**** 作者被禁止或删除 内容自动屏蔽 ****

我分析这个地方应该是写错了,BUTTONSTATE在程序中没有用到,这个地方应该改成lastButtonState就可以了,reading确实是当前获取到的按键状态值
ID:455377 发表于 2020-3-5 21:30
ZFDPJ 发表于 2017-11-26 02:48
**** 作者被禁止或删除 内容自动屏蔽 ****

buttonState是int类型只有两种值0和1   如果为0不执行   如果为1  执行    关键在那个!=  这个符号
ID:20841 发表于 2020-3-5 17:09
很好的按键的函数 谢谢分享
ID:437197 发表于 2019-5-16 09:34
如果按钮按得够久,先0-1再1-0,都是稳定的,那灯的状态就会变两次吗?
ID:437197 发表于 2019-5-16 09:22
我觉得写得挺好滴,顶一个
ID:253661 发表于 2017-11-26 02:48
大神请问一下 51步 if (reading != buttonState)中 reading不就是读取的buttonstate中的状态吗?为什么还可以比较啊? 求解释

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表