[STM32F1] 给大家分享一个按键消抖程序,很好用

[复制链接]
21425|57
 楼主| 铜牌之路 发表于 2015-6-21 10:36 | 显示全部楼层 |阅读模式
pi, GPIO, IO, gp, ADI
                         if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_14)==1)
                               {   
                               delay_ms(100);
                 if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_14)==0) // 相当于下降沿
gx_huang 发表于 2015-6-21 11:57 | 显示全部楼层
这个怎么好用法?
mmuuss586 发表于 2015-6-21 12:05 | 显示全部楼层

还加延时多浪费时间;
 楼主| 铜牌之路 发表于 2015-6-21 16:39 | 显示全部楼层
哈哈,刚学。但是觉得这个很简单
 楼主| 铜牌之路 发表于 2015-6-21 16:41 | 显示全部楼层
gx_huang 发表于 2015-6-21 11:57
这个怎么好用法?

对老板的招聘比较感兴趣:lol
Leeone 发表于 2015-6-21 17:46 来自手机 | 显示全部楼层
亮点在哪里
nuaabob 发表于 2015-6-21 20:11 | 显示全部楼层
一看软件延时就只能呵呵了。
xyz549040622 发表于 2015-6-21 22:45 来自手机 | 显示全部楼层
用定时器扫。
yulunna 发表于 2015-6-22 09:41 来自手机 | 显示全部楼层
延时方法,但为毛一个是高电平判断一个是低电平呢
MOn51 发表于 2015-6-22 10:39 | 显示全部楼层
真不知道好在哪里?
fanxsd 发表于 2015-6-22 11:14 | 显示全部楼层
呵呵 一笑
ticomi 发表于 2015-6-22 13:57 | 显示全部楼层
用延时,实不可取了!!
insignal 发表于 2015-6-22 14:12 来自手机 | 显示全部楼层
延时方法简单有效,对于不需要实时响应的产品很有用,不过楼主的代码判断似乎有问题。
为什么不可取?就因为太简单了?
-|continue;|- 发表于 2015-6-22 14:57 | 显示全部楼层
的确好用,辞了半年的职不批,主管看了这段代码,立马说,明天你可以不用来了
 楼主| 铜牌之路 发表于 2015-6-22 16:00 | 显示全部楼层
insignal 发表于 2015-6-22 14:12
延时方法简单有效,对于不需要实时响应的产品很有用,不过楼主的代码判断似乎有问题。
为什么不可取?就因 ...

那有什么其他更好的办法呢?代码没问题,已经试验过了,就相当于判断下降沿
 楼主| 铜牌之路 发表于 2015-6-22 16:01 | 显示全部楼层
-|continue;|- 发表于 2015-6-22 14:57
的确好用,辞了半年的职不批,主管看了这段代码,立马说,明天你可以不用来了 ...

:lol   菜鸟刚学,给个更好的建议把
 楼主| 铜牌之路 发表于 2015-6-22 16:02 | 显示全部楼层
insignal 发表于 2015-6-22 14:12
延时方法简单有效,对于不需要实时响应的产品很有用,不过楼主的代码判断似乎有问题。
为什么不可取?就因 ...

代码没问题,就是判断高电平到低电平那一下。我主要用于低速脉冲计数
 楼主| 铜牌之路 发表于 2015-6-22 16:03 | 显示全部楼层
ticomi 发表于 2015-6-22 13:57
用延时,实不可取了!!

给个更好的方法,我学习学习:lol
 楼主| 铜牌之路 发表于 2015-6-22 16:03 | 显示全部楼层

我看了有其他方法,但感觉麻烦,有什么简单有效的方法呢
 楼主| 铜牌之路 发表于 2015-6-22 16:04 | 显示全部楼层
yulunna 发表于 2015-6-22 09:41
延时方法,但为毛一个是高电平判断一个是低电平呢

就为了判断下降沿那一个地方
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

85

帖子

0

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