OpenEdv-开源电子网

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

按键长按短按判断

[复制链接]

9

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2018-7-10
在线时间
16 小时
发表于 2018-7-20 18:55:36 | 显示全部楼层 |阅读模式
1金钱
我想要的效果是按键短按按下等按键抬起在执行按键操作,长按的效果就是只要你一直按着操作一直执行(比如按键一直按着,数码管一直加一)

最佳答案

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

用SYSTICK 设置20ms中断一次(这样效率最高,可以省掉消抖延时), 在中断服务程序中检查按键的按下情况, 用一个static 变量累计时间, 然后想怎么判断就怎么判断, 想设多长按键就设多长按键。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-7-20 18:55:37 | 显示全部楼层

用SYSTICK
设置20ms中断一次(这样效率最高,可以省掉消抖延时),
在中断服务程序中检查按键的按下情况,
用一个static 变量累计时间,
然后想怎么判断就怎么判断,
想设多长按键就设多长按键。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-7-20 20:58:40 | 显示全部楼层
用SYSTICK或定时器来操作。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2018-1-24
在线时间
10 小时
发表于 2018-7-20 23:51:44 | 显示全部楼层
延时一下就好
回复

使用道具 举报

9

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2018-7-10
在线时间
16 小时
 楼主| 发表于 2018-7-21 07:43:07 | 显示全部楼层
warship 发表于 2018-7-20 20:58
用SYSTICK或定时器来操作。

具体思路
回复

使用道具 举报

3

主题

4

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-7-13
在线时间
3 小时
发表于 2018-7-21 08:03:40 | 显示全部楼层
不是有程序吗,支持联安,和不支持联安的程序都有
回复

使用道具 举报

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17784
金钱
17784
注册时间
2018-3-3
在线时间
523 小时
发表于 2018-7-21 09:33:35 | 显示全部楼层
用定时器采样按键,按住超过一定值就算长按
/*
*
*
*
*
*
*/
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2018-7-21
在线时间
7 小时
发表于 2018-7-21 18:41:44 | 显示全部楼层
可以记录上一次的按键值,当再次按下按键就与上一次的值进行对比,如果两次值这为一直按着的,如果不同则只按了一次
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 14:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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