搜索
bottom↓
回复: 35

两个按键实现长短按、双击、连发组合--

  [复制链接]

出0入0汤圆

发表于 2014-6-24 08:10:44 | 显示全部楼层 |阅读模式
做一个小产品,按用户要求,写的程序
参考了或模仿了马潮老师书上的的按键状态机程序 + 此贴http://www.amobbs.com/thread-3985870-1-1.html
这是调试时的程序,用串口可看见它的基本思想,主要还是状态机
------供初学者参考----同时欢迎高手拍砖
============================================================
以SW键为例:(返回如下信息-----串口可见)
0E---有按下动作  8E---按下  9E---短按下并抬起  4E---长按 2E---连发-----(其它键、组合键也是这样)
AA---快速双击  BB----慢速双击(时间也变) CC---类似于Ctrl + s这样的组合

电脑上的慢速双击好像没时间限,只要是连着的两次单击 && 时间间隔 > 双击打开这种操作的时间间隔即可
如重命名慢双击:单击-------等(大于0.5S的时间)------单击
  打开快双击:  单击------等(小于0.5S的时间)---下一次单击按下即可


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入8汤圆

发表于 2014-6-24 08:38:50 | 显示全部楼层
顶一个            

出0入10汤圆

发表于 2014-6-24 08:39:40 | 显示全部楼层
顶一个。。。。。。。。

出0入0汤圆

发表于 2014-6-24 09:04:39 | 显示全部楼层
谢谢分享,学习一下

出0入0汤圆

发表于 2014-6-24 09:06:47 | 显示全部楼层
学习了 Thank you!!!!!

出0入0汤圆

发表于 2014-6-24 09:31:00 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2014-6-24 12:56:58 | 显示全部楼层
怎么下载不了,该附件无法读取

出0入0汤圆

 楼主| 发表于 2014-6-24 14:49:58 | 显示全部楼层
什么情况,再传一下,网站最近好像不太好打开

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-6-24 15:21:16 | 显示全部楼层
该附件无法读取呀

出0入0汤圆

 楼主| 发表于 2014-6-24 16:46:47 | 显示全部楼层
caoxinkafei 发表于 2014-6-24 15:21
该附件无法读取呀

我试过了 能下载啊 什么情况

出0入0汤圆

发表于 2014-6-24 16:54:19 | 显示全部楼层
tigeroser 发表于 2014-6-24 16:46
我试过了 能下载啊 什么情况


点击后就这样,是不是设了什么条件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-6-24 16:59:47 | 显示全部楼层
多谢分享

出0入0汤圆

 楼主| 发表于 2014-6-24 18:14:53 | 显示全部楼层
caoxinkafei 发表于 2014-6-24 16:54
点击后就这样,是不是设了什么条件

能下,最近网站有问题 我看我之前的帖子也要密码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-6-24 19:01:34 | 显示全部楼层
两个键能做到这么多功能,不错嘛,有空帮你验证一下可靠性

出0入0汤圆

 楼主| 发表于 2014-6-24 21:43:13 | 显示全部楼层
Ilove51andAVR 发表于 2014-6-24 19:01
两个键能做到这么多功能,不错嘛,有空帮你验证一下可靠性

灰常感谢,不过
我的按键操作采样过程是:
看一个键的这些动作:按下------消抖------按下------消抖-----抬起。
没有判断按下前的抬起状态。,所以这样的话程序有个误区:发生在组合按下(KEY1 KEY2)后的抬起。
因为同时抬起是不可能的,那么,慢抬起的那个会触发一次短按操作------------符合:按下------消抖------按下------消抖-----抬起


我也没法解决这个,所以在组合按下后加了个3S延时,以跳过两个手指的不可能同时抬起状态

你看这个问题怎么解决

出0入0汤圆

发表于 2014-6-25 09:59:44 | 显示全部楼层
tigeroser 发表于 2014-6-24 21:43
灰常感谢,不过
我的按键操作采样过程是:
看一个键的这些动作:按下------消抖------按下------ ...

设个禁止标志,双键按下后forbid=1,两个键都抬起forbid=0
单键处理前先查forbid标志,如为1不处理

出0入0汤圆

发表于 2014-7-9 11:44:35 | 显示全部楼层

出0入0汤圆

发表于 2014-7-10 19:11:33 | 显示全部楼层
谢谢楼主分享。

出0入0汤圆

发表于 2014-7-24 21:56:41 | 显示全部楼层
下来看看,谢楼主

出0入0汤圆

发表于 2014-7-24 23:11:41 | 显示全部楼层
MARK 一下,两个按键实现长短按、双击、连发组合

出0入0汤圆

发表于 2014-7-25 15:22:27 | 显示全部楼层
不错不错!!来个试试!

出0入10汤圆

发表于 2014-7-27 09:34:49 | 显示全部楼层
附件下载不了?

出0入0汤圆

发表于 2014-7-30 09:38:24 | 显示全部楼层
mark                       

出0入0汤圆

发表于 2014-7-30 12:49:55 | 显示全部楼层
赞一个!@LZ

出0入0汤圆

 楼主| 发表于 2014-7-30 13:13:53 | 显示全部楼层
用户表示按键功能没出现什么问题。。。
设按键A和按键B,组合按键A+B(按下A,再按下B即生效)、B+A也不会出现刚开始的问题了。16的想法值得学习。也不会出现一开始的误判
==========================================
看过一些程序的模块,还是那句话,一切从实际出发、具体问题具体分析,理论联系实践。。。我的理论就是一般的状态机思想。总结一下我心目中的状态机------根据信标进行状态切换的机器,状态即任务。信标可以是定时器产生,也可以由当前任务产生,以此来转换下一个任务。

出0入0汤圆

发表于 2014-8-15 14:43:46 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2014-8-16 07:31:52 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2014-8-18 18:47:25 | 显示全部楼层
正是想看的  必须顶啊

出0入8汤圆

发表于 2014-9-1 12:54:10 | 显示全部楼层
模仿一下先~

出0入0汤圆

发表于 2014-9-1 16:27:15 | 显示全部楼层
感谢楼主的了,好好学习了

出0入0汤圆

 楼主| 发表于 2014-9-2 08:56:43 | 显示全部楼层
程序有个问题:快速双击、组合按下 后的一次抬起操作是残留下来的,对程序而言是重新扫描的,即可造成:单击、长按等。如A+B组合,B按下后即产生一次组合功能,之后的B抬起,就是一次残留的抬起,这次残留操作对程序而言就是重新扫描了。。。
解决方法-------------快速双击和组合按下都设置一个标志位,来指示当前的操作是不是残留的

用户程序中已解决,回头再上传程序片断

出0入0汤圆

发表于 2014-9-4 09:04:46 | 显示全部楼层
非常感谢 学习了!!!!

出0入0汤圆

发表于 2015-4-9 16:48:30 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2015-4-9 19:13:25 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2018-11-8 13:55:29 | 显示全部楼层

谢谢分享,学习一下

出0入0汤圆

发表于 2018-11-9 17:05:19 | 显示全部楼层
顶      
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 06:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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