OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3107|回复: 11

百度和论坛我都搜了 没发现和我相似的问题 精英版 按键实验三 我设置长按有效 为什么长按key1时候 可能会出现两个结果

[复制链接]

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2020-5-20
在线时间
12 小时
发表于 2020-7-2 20:23:47 | 显示全部楼层 |阅读模式
5金钱
也就是说   本来LED1是灭的    在我长按的情况下 可能是灭 也有可能是亮 (源程序没改过)
顺便问一下最后的
else delay_ms(10);
这个延迟是什么作用?
难道也是消抖嘛  
注释掉这一步 没什么影响。

1593692491(1).png

谢谢大家

最佳答案

查看完整内容[请看2#楼]

这不是长按有效,这是一只有结果输出,这样的话,你得到的控制信号量是随机的,可能是99个,也可能是98个,也可能是30个,不确定,取决于你按的时间长短。所以,铁定结果就是乱的,因为你没办法控制每次按下,是执行了多少次。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-7-2 20:23:48 | 显示全部楼层
这不是长按有效,这是一只有结果输出,这样的话,你得到的控制信号量是随机的,可能是99个,也可能是98个,也可能是30个,不确定,取决于你按的时间长短。所以,铁定结果就是乱的,因为你没办法控制每次按下,是执行了多少次。
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14433
金钱
14433
注册时间
2018-8-3
在线时间
1157 小时
发表于 2020-7-3 11:20:59 | 显示全部楼层
就是防抖而已  你是连按模式 所以没啥作用这个延时
回复

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2020-5-20
在线时间
12 小时
 楼主| 发表于 2020-7-3 16:05:56 | 显示全部楼层
翼行园子 发表于 2020-7-3 11:20
就是防抖而已  你是连按模式 所以没啥作用这个延时

为什么我连按的时候 可能会出现两种不同的结果呢
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14433
金钱
14433
注册时间
2018-8-3
在线时间
1157 小时
发表于 2020-7-3 16:30:49 | 显示全部楼层
weiP 发表于 2020-7-3 16:05
为什么我连按的时候 可能会出现两种不同的结果呢

哪两种  现象描述清楚些
啊哈~加油!!
回复

使用道具 举报

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2020-6-29
在线时间
14 小时
发表于 2020-7-3 17:40:22 | 显示全部楼层
把延时改大一点 或者换个按键试一试 一般按下去有尖峰脉冲
回复

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2020-5-20
在线时间
12 小时
 楼主| 发表于 2020-7-5 19:42:42 | 显示全部楼层
翼行园子 发表于 2020-7-3 16:30
哪两种  现象描述清楚些

本来LED1是灭的    在我长按之后松开    LED1可能是灭 也有可能是亮 (源程序没改过)
回复

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2020-5-20
在线时间
12 小时
 楼主| 发表于 2020-7-5 19:43:32 | 显示全部楼层
刘ZC 发表于 2020-7-3 17:40
把延时改大一点 或者换个按键试一试 一般按下去有尖峰脉冲

好的 我去试试
回复

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2020-5-20
在线时间
12 小时
 楼主| 发表于 2020-7-5 20:03:49 | 显示全部楼层
刘ZC 发表于 2020-7-3 17:40
把延时改大一点 或者换个按键试一试 一般按下去有尖峰脉冲

把我延时调大  key1/key0我都试了试     长按之后松开 LED灯可能会灭也可能会亮(本来是熄灭的状态)
回复

使用道具 举报

10

主题

271

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1236
金钱
1236
注册时间
2015-5-14
在线时间
352 小时
发表于 2020-7-6 07:47:34 来自手机 | 显示全部楼层
https://blog.csdn.net/wuhenyouyuyouyu/article/details/77622340看看这个
回复

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2020-5-20
在线时间
12 小时
 楼主| 发表于 2020-7-6 15:56:12 | 显示全部楼层
正点原子 发表于 2020-7-2 20:23
这不是长按有效,这是一只有结果输出,这样的话,你得到的控制信号量是随机的,可能是99个,也可能是98个, ...

懂了懂了  谢谢原子哥
回复

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2020-5-20
在线时间
12 小时
 楼主| 发表于 2020-7-6 15:57:17 | 显示全部楼层
无痕幽雨 发表于 2020-7-6 07:47
https://blog.csdn.net/wuhenyouyuyouyu/article/details/77622340看看这个

好的      
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-29 15:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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