OpenEdv-开源电子网

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

按键长按/短按不起作用,按下的一瞬间计数器加到了最大

[复制链接]

9

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-8-21
在线时间
65 小时
发表于 2020-4-16 21:09:10 | 显示全部楼层 |阅读模式
20金钱
小弟使用STM32Mini板,做了一个按键长短按的函数如下
微信截图_20200416210434.png
我来讲解一下:
正常情况下 KEY1电位是1,按下后KEY1点位是0,松开之后KEY1点位又变成了1.
我就是用这个原理写了一个长按短按的函数
图中Key1Press_loop是用来识别长按的,当Key1Press_loop>60时,松开后才被判定长按
   可是问题来了:
按下的一瞬间Key1Press_loop就加到了60?????????
让我有点措手不及,,,嗯。。。。。就是很快的一下子。。。。。
这样不应该

最佳答案

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

放完整程序上来,你这个判断逻辑内部++,这个逻辑所在函数运行周期你确定吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

391

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957
金钱
1957
注册时间
2014-8-8
在线时间
307 小时
发表于 2020-4-16 21:09:11 | 显示全部楼层
放完整程序上来,你这个判断逻辑内部++,这个逻辑所在函数运行周期你确定吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2020-4-17 01:06:20 | 显示全部楼层
仿真找问题
回复

使用道具 举报

0

主题

87

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2018-4-20
在线时间
491 小时
发表于 2020-4-17 08:29:47 | 显示全部楼层
主函数轮询太快了吧,是不是没加延时
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13102
金钱
13102
注册时间
2012-11-26
在线时间
3811 小时
发表于 2020-4-17 08:51:07 | 显示全部楼层
不放出所有逻辑,都是扯淡。都不知道你这个代码是在哪调用的
学无止境
回复

使用道具 举报

9

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-8-21
在线时间
65 小时
 楼主| 发表于 2020-4-17 13:19:09 | 显示全部楼层
人生丶如梦 发表于 2020-4-17 08:29
主函数轮询太快了吧,是不是没加延时

是的,忘记加上了delay,加上了delay就好了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 11:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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