4869|8

61

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

一键多功能复用 [复制链接]

请问 一键多功能复用的原理是怎样的啊?大家能给我解释解释吗?在这儿先谢过大家了!

最新回复

把逻辑搞清楚就好办了,一般也就单击,双击,长按三种指令 不用状态机的话用一个定时器也可以 Down→开始计时→Up→计时停止→读数→继续计时→Down→计时停止→Up→判断为双击 ----------------------- ↓--------------------------------------------↓ ----------------------超时----------------------------------------超时 ----------------------- ↓--------------------------------------------↓ ----------------- 判断为长按----------------------------- 判断为单击   这样的话单击的判断会有延时,因为要等待超时判断是否双击 以上是小弟的思路,还请高手拍砖 [ 本帖最后由 anqi90 于 2011-9-24 18:26 编辑 ]  详情 回复 发表于 2011-9-24 18:25
 
点赞 关注

回复
举报

918

帖子

0

TA的资源

纯净的硅(中级)

沙发
 

回复 楼主 sh2010 的帖子

什么意思呢?
 
 

回复

196

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
通过按键时间长短来辨别执行什么程序。或者按键次数来决定执行什么程序。
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

4
 
对按下的按键判断,检测多几次,如果按键相同,则为长按,否则为短按。
短按的话,对前一个案件状态比较,如果相同,则为连击。
加上放键检测,没有放键,又是另外一种状态。
……囧,程序怎么实现,我也懵了……
不过,网上有代码可以参考
 
 
 

回复

80

帖子

0

TA的资源

纯净的硅(初级)

5
 
还有就是在不同的任务中,或者不同的OI界面中,同一个key可以对应不同的key event。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(中级)

6
 
同一个key可以对应不同的key event,在程序中该怎么实现呢?能举个例子吗?
 
 
 

回复

242

帖子

0

TA的资源

纯净的硅(中级)

7
 

回复 4楼 David_Lee 的帖子

程序的话,用状态机原理去实现是最方便的
 
 
 

回复

80

帖子

0

TA的资源

纯净的硅(初级)

8
 

回复 5楼 weirgu 的帖子

简单例子。
例如我们有一个按键:KEY1。我们要实现在Task1 =0时,KEY1为up的功能,在Task2=1时KEY1为Down功能。
1:建立一个表大概格式如下KEY_EVENT[task]={KEY_UP,KEY_DOWN},
2:通过中断或者轮询去获得当前的按键值,得到KEY1。
3:当得到这个按键后通过表格去查当前的KEY事件 EVENT  =  KEY_EVENT [ task ],这样,就可以区分不同的任务中同一个按键的对应的key event了。
4:在主要循环中 可以 swith 不同的key event来实现不同的功能。

但是实际运用中会比这个复杂很多。但是基本过程就是这样的。
 
 
 

回复

1469

帖子

0

TA的资源

五彩晶圆(中级)

9
 
把逻辑搞清楚就好办了,一般也就单击,双击,长按三种指令
不用状态机的话用一个定时器也可以

Down→开始计时→Up→计时停止→读数→继续计时→Down→计时停止→Up→判断为双击
----------------------- ↓--------------------------------------------↓
----------------------超时----------------------------------------超时
----------------------- ↓--------------------------------------------↓
----------------- 判断为长按----------------------------- 判断为单击  
这样的话单击的判断会有延时,因为要等待超时判断是否双击

以上是小弟的思路,还请高手拍砖

[ 本帖最后由 anqi90 于 2011-9-24 18:26 编辑 ]
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表