野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11076|回复: 5

按键检测要按多次才能反应过来

[复制链接]
发表于 2018-8-27 23:48:16 | 显示全部楼层 |阅读模式
我自己写程序,或者移植野火哥的程序。按键检测都要按多次才能反应过来,请问这是怎么回事?我看野火哥操作的时候,每次按下去LED的状态都会改变。我要按多次才会改变,有时只要按第一次才改变,后面就不变了。
360截图16480303399078.png
回复

使用道具 举报

发表于 2018-8-28 08:43:15 | 显示全部楼层
用的不是我们的开发板?我们的板子加了硬件消抖的,如果你的板子没有消抖是会这样子,要加上软件消抖的处理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-28 14:08:53 | 显示全部楼层
flyleaf 发表于 2018-8-28 08:43
用的不是我们的开发板?我们的板子加了硬件消抖的,如果你的板子没有消抖是会这样子,要加上软件消抖的处理

我的程序有加那句while(Key_Scan(KEY0_GPIO_PORT, KEY0_GPIO_PIN)==KEY_ON);
这算不算消抖了呢?
回复 支持 反对

使用道具 举报

发表于 2018-8-28 15:40:22 | 显示全部楼层
lizhihua 发表于 2018-8-28 14:08
我的程序有加那句while(Key_Scan(KEY0_GPIO_PORT, KEY0_GPIO_PIN)==KEY_ON);
这算不算消抖了呢?

这不算,软件消抖就是软件延时,硬件消抖是并在按键上一个电容,用电容充电来延时
回复 支持 反对

使用道具 举报

发表于 2018-8-28 16:03:54 | 显示全部楼层
在论坛搜索“状态机”,有很多按键状态机的例子,使用按键状态机的方式消抖比较方便
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-29 10:14:07 | 显示全部楼层
flyleaf 发表于 2018-8-28 16:03
在论坛搜索“状态机”,有很多按键状态机的例子,使用按键状态机的方式消抖比较方便

谢谢火哥和4楼
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 21:36 , Processed in 0.031902 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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