搜索
bottom↓
回复: 10

技术讨论贴:关于按键的操作。

[复制链接]

出10入113汤圆

发表于 2017-1-23 14:47:21 | 显示全部楼层 |阅读模式
现在的按键功能,我们一般单片机实现的都是按下去后就有反应,比如加一或者闪烁什么的,可能说的不太明白,但就类似于电视机遥控器的按钮,按下就有反应,而不是松开采有。
但是如果用状态机实现的话,就是在松开的时候才实现功能识别,因为这样也就顺便实现了长按键的识别了,但与正常的我们日常遥控器等功能的操作手感是不同的,需要事先知道是短按功能才知道松开。
第二种情况在平板和手机中经常使用,比如苹果的home键,长按siri,短按唤醒,或者很多手机电源键也类似的,短按唤醒,长按关机功能。


我的问题是:状态机是不是不能实现第一种功能?另外如果是生活产品设计,比如房间温度控制器,86盒那种按钮功能什么的,哪种更好?

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2017-1-23 15:04:55 | 显示全部楼层
长按和短按功能一样时,用按下就触发的方式。如按下音量+ 长按音量不断+。
长按和短按功能不一样时,短按要用松开时触发,如手机关机键,短按唤醒/休眠 都是松开时触发的,这样在长按关机时就不会触动 唤醒/休眠的动作。
无论哪种情况,状态机都可以实现。

出0入4汤圆

发表于 2017-1-23 15:21:02 | 显示全部楼层
都用按下触发也可以识别长短键
第一次扫描到按下后,加个带延时循环计数,然后松开后看计数值数是多少判断长短键

出10入113汤圆

 楼主| 发表于 2017-1-23 16:32:21 | 显示全部楼层
physis 发表于 2017-1-23 15:21
都用按下触发也可以识别长短键
第一次扫描到按下后,加个带延时循环计数,然后松开后看计数值数是多少判断 ...

但是如果在按着短按不响应,就不符合人的认知了。

出0入0汤圆

发表于 2017-1-23 16:47:46 来自手机 | 显示全部楼层
对的,设计来自需求,大家更习惯于按下有响应。

出0入0汤圆

发表于 2017-1-23 17:22:04 | 显示全部楼层
你说的这个跟软件设计没有关系,是逻辑前提问题

一个按键,如果是有长短按功能的,那一定是要释放或超时的时候才能判定是长按还是短按

出0入0汤圆

发表于 2017-1-23 18:05:49 | 显示全部楼层

在定时器里边定期扫描按键,  想要按下 时候有反应,还是松开的时候有反应,或者识别长短按键,根据你自己的需要来编写

出0入42汤圆

发表于 2017-1-23 21:16:46 来自手机 | 显示全部楼层
按下事件,按住,弹起事件。   

出0入0汤圆

发表于 2017-1-24 09:38:39 | 显示全部楼层
按下,计时,时间短就是短按、长就是长按, 长按生效后还按着不理会

出0入0汤圆

发表于 2017-1-24 09:45:18 | 显示全部楼层
状态机可以实现你期望的任何功能

出10入113汤圆

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

本版积分规则

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

GMT+8, 2024-4-27 10:53

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

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