打印

匠人给个双键同击的例程好么?

[复制链接]
2625|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaohq|  楼主 | 2009-4-5 18:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
程序匠人| | 2009-4-5 21:14 | 只看该作者

双键同击(复合键)的处理,主要就是体现在读键上

读键时,同时判断一下两个按键是否闭合,然后再返回闭合.后续的消抖,与单键是一样的.

使用特权

评论回复
板凳
computer00| | 2009-4-5 21:48 | 只看该作者

是用与的关系不就可以了,同时具备

使用特权

评论回复
地板
hotpower| | 2009-4-5 22:11 | 只看该作者

永远不会“双键同击”~~~

使用特权

评论回复
5
程序匠人| | 2009-4-5 23:10 | 只看该作者

没有绝对的同击,但是有相对的同击

两个按键闭合的时间间隔,小于消抖时间,即可视为同时闭合.

使用特权

评论回复
6
ayb_ice| | 2009-4-6 12:18 | 只看该作者

这和单键区别大吗

使用特权

评论回复
7
gaohq|  楼主 | 2009-4-7 14:32 | 只看该作者

谢谢各位

用"与"的关系做出来了.但效果很差,要让两个键同时按下很难,我试了下,按了10几次才成功了1次.

使用特权

评论回复
8
程序匠人| | 2009-4-7 14:42 | 只看该作者

回7楼

注意两个要诀:

1、复合键优先检测。也就是说,先读复合键,如果读到复合键了,就不要再读单键。

2、单键的消抖时间应该适当放长点,比如30ms。(一般教科书上是10ms)

使用特权

评论回复
9
computer00| | 2009-4-7 14:43 | 只看该作者

我晕……是在读取到键之后才进行与呀……

而且时间相差很远也可以知道的啊。

if(Key1&Key2),任何时候(以后按下的也行啊)两个键同时按下了,都能成功的呀。

使用特权

评论回复
10
程序匠人| | 2009-4-7 15:53 | 只看该作者

圈圈可能没明白楼主的问题症结所在

楼主的问题可能是:先按下的键已经执行过功能了,后一个键还没按下。

使用特权

评论回复
11
computer00| | 2009-4-7 16:52 | 只看该作者

哦……那可以按键弹起才处理嘛...

当然,如果按下时功能也需要,那只能是处理时间上做手脚了。

使用特权

评论回复
12
程序匠人| | 2009-4-7 17:40 | 只看该作者

9494

使用特权

评论回复
13
ayb_ice| | 2009-4-7 20:40 | 只看该作者

估计LZ学不会的

使用特权

评论回复
14
zdxlxq| | 2009-4-7 23:06 | 只看该作者

菜农的那个零耗时按键可以参考一下

使用特权

评论回复
15
gaohq|  楼主 | 2009-4-8 08:52 | 只看该作者

回答各位

已搞定了,先按key1不放,再按key2,松开key1或者key2,再松开key2或者key1.就可以了,就是按起来较麻烦啊.
13楼应该说:
    估计LZ  暂时   学不会的
14楼的意见很好,我找找看.
谢谢各位!!!!

使用特权

评论回复
16
gaohq|  楼主 | 2009-4-8 09:06 | 只看该作者

零耗时按键

零耗时按键 这个在哪儿?  我在博文, 资料, 论坛 上都找了,没搜到,我用"零耗时按键"这几个为关键字搜的.

使用特权

评论回复
17
HWM| | 2009-4-8 09:18 | 只看该作者

双键安排不好,只会自寻烦恼。

使用特权

评论回复
18
xwj| | 2009-4-8 09:21 | 只看该作者

这东西,要靠悟性的。想通了,不学也会;想不通的话,教

 ayb_ice 发表于 2009-4-7 20:40 侃单片机 ←返回版面    

13楼: 估计LZ学不会的 

使用特权

评论回复
19
yuands| | 2009-4-12 02:38 | 只看该作者

和单键应该没什么两样的

使用特权

评论回复
20
hotpower| | 2009-4-12 02:44 | 只看该作者

http://www.baigoogledu.com/

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

378

主题

3764

帖子

5

粉丝