搜索
bottom↓
楼主: zhuhanliang

新型的按键扫描程序,仅三行程序

  [复制链接]

出0入0汤圆

发表于 2013-5-15 22:55:25 | 显示全部楼层
好思路!

出0入0汤圆

发表于 2013-5-20 13:30:35 | 显示全部楼层
好神奇呀

出0入0汤圆

发表于 2013-5-20 15:44:27 | 显示全部楼层
不错。向楼主学习。。。。

出0入0汤圆

发表于 2013-5-20 17:09:36 | 显示全部楼层
大家都说好  收藏 看看

出0入442汤圆

发表于 2013-5-20 17:14:22 | 显示全部楼层
陈年老贴啊。话说这用的是双边沿检测法,FPGA里用的都是这种方法,否则肯定出错。

出0入0汤圆

发表于 2013-5-20 18:15:32 | 显示全部楼层
没见有消抖啊,只是等了20ms。之后没有比较前后键值。
还是我没看懂,望明示。

出0入0汤圆

发表于 2013-5-20 23:12:44 | 显示全部楼层
不错!受教了!

出0入0汤圆

发表于 2013-5-22 09:10:36 | 显示全部楼层
mark!mark!

出0入0汤圆

发表于 2013-5-22 09:49:26 | 显示全部楼层
MARK                                                                        

出0入0汤圆

发表于 2013-5-23 14:24:45 | 显示全部楼层
MARK      

出0入0汤圆

发表于 2013-5-23 14:39:07 | 显示全部楼层
马克

出0入0汤圆

发表于 2013-5-23 15:30:49 | 显示全部楼层
不错的思路!!

出0入0汤圆

发表于 2013-5-25 09:53:49 | 显示全部楼层
mark下,受教了!楼主威武!

出0入0汤圆

发表于 2013-5-25 10:25:44 | 显示全部楼层
很神奇的算法,确实高明。

出0入0汤圆

发表于 2013-5-29 17:10:23 | 显示全部楼层
本帖最后由 liushizhe 于 2013-5-29 17:13 编辑

可以试试

出0入0汤圆

发表于 2013-5-30 13:00:07 | 显示全部楼层
收藏了,回去好好看看

出0入0汤圆

发表于 2013-5-31 22:07:27 | 显示全部楼层
可读性有点差,但是很简洁,这是我见过的实现相同的功能,代码量最少的

出0入0汤圆

发表于 2013-6-1 19:09:00 | 显示全部楼层
研究一下

出0入0汤圆

发表于 2013-6-1 21:58:34 | 显示全部楼层
学习学习。。。

出0入0汤圆

发表于 2013-6-2 18:27:29 | 显示全部楼层
学习了!~

出0入0汤圆

发表于 2013-6-5 21:37:29 | 显示全部楼层
mark!                           

出0入0汤圆

发表于 2013-6-6 23:14:10 | 显示全部楼层
这个扫描机制如果用在触摸屏上应该就解决了点触和滑动的区别了。

出0入0汤圆

发表于 2013-6-7 13:43:50 | 显示全部楼层
这是让我最惊奇的程序,太好了。

出0入0汤圆

发表于 2013-6-8 14:52:12 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2013-6-8 15:50:50 | 显示全部楼层
mark!

出0入0汤圆

发表于 2013-6-13 17:37:34 | 显示全部楼层
构思非常巧妙,感谢楼主分享!

出0入0汤圆

发表于 2013-6-13 19:03:47 来自手机 | 显示全部楼层
路过学习学习

出0入0汤圆

发表于 2013-6-13 20:21:03 | 显示全部楼层
果断mark``````````

出0入0汤圆

发表于 2013-6-13 22:05:12 | 显示全部楼层
恩恩!好好,真的很精辟!

出0入0汤圆

发表于 2013-6-14 09:17:03 | 显示全部楼层
有创意,有启发,学习收藏。

出0入0汤圆

发表于 2013-6-14 09:32:58 | 显示全部楼层
好东西,先MARK一下

出0入0汤圆

发表于 2013-6-14 10:57:33 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2013-6-14 11:36:12 | 显示全部楼层
hameyou 发表于 2010-10-8 15:20
我一般不用这个

请问你一般用什么样的呢?
如果方便的话可以开源吗?
教科书中的基本一样。
这种有什么缺点吗?

出0入0汤圆

发表于 2013-6-15 14:25:23 | 显示全部楼层
mark下慢慢品味

出0入0汤圆

发表于 2013-6-15 22:03:01 | 显示全部楼层
很不错的,收藏了!!以前处理按键的时候简直愁死了!

出0入0汤圆

发表于 2013-6-15 22:57:26 来自手机 | 显示全部楼层
学习大手      

出0入0汤圆

发表于 2013-6-18 01:00:13 | 显示全部楼层
嗯,不错,可以在工作中用一下。

出0入0汤圆

发表于 2013-6-18 09:33:18 | 显示全部楼层
本帖最后由 spint 于 2013-6-18 09:36 编辑

我现在用的一个按键程序,虽然有点麻烦但使用还是挺可靠地,能识别按键按下、长按和抬起。高手们不要嘲笑哦


#define  KeyInt   200
unsigned char KeyTime[4]={0};//按键对应延时计数
unsigned char KeyState[0]={0};//上次按键状态
unsigned char KeyIndex=0;       //按键标识变量

//将GetKey_1()函数放在定时器里

void  GetKey_1(void)
{
        if(KeyTime[0]<255)KeyTime[0]++;
        if(KeyTime[0]>KeyInt)
        {
                if(PEin(9)==1 )
                {
                        if(KeyState[0]==0)
                        {
                                //===================          keyDown
                                KeyIndex|=1;
                                Error_Led=~Error_Led;       
                                //====================
                                KeyTime[0]=0;
                                KeyState[0]=1;
                        }
                        else
                        {       
                                if(KeyTime[0]>250)
                                {
                                                                                 //========================         KeyHold

                                                                                 //KeyIndex|=1;   //可以周期触发按键或执行其他程序

                                                         //========================
                                        KeyTime[0]=230;
                                }
                        }
                }
                else
                {
                //============================         keyUp


                //============================
                        KeyState[0]=0;
                }
         }
}


//按键引用
if(KeyIndex&0x01)
{
KeyIndex&=0xFE;   清空标识
//=======================
//执行相关程序

//======================


}

出0入0汤圆

发表于 2013-6-18 09:46:08 | 显示全部楼层
mark               

出0入0汤圆

发表于 2013-6-27 23:40:41 | 显示全部楼层
mark一下,好思想

出0入0汤圆

发表于 2013-7-3 15:50:01 | 显示全部楼层
还不错,mark

出0入0汤圆

发表于 2013-7-3 16:51:07 | 显示全部楼层
不错,好贴!

出0入0汤圆

发表于 2013-7-9 11:03:52 | 显示全部楼层
谢谢分享,其实是学到了拓展思路的方法

出0入0汤圆

发表于 2013-7-9 17:51:28 | 显示全部楼层
mark一个

出0入0汤圆

发表于 2013-7-9 19:05:35 | 显示全部楼层
受教受教咯

出0入0汤圆

发表于 2013-7-9 20:23:45 来自手机 | 显示全部楼层
顶一个…………

出0入0汤圆

发表于 2013-7-12 16:37:51 | 显示全部楼层
这个消抖怎么做啊。。

出0入0汤圆

发表于 2013-7-13 10:35:21 | 显示全部楼层
很不错的按键

出0入0汤圆

发表于 2013-7-13 14:15:43 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2013-7-13 16:19:33 | 显示全部楼层
mark~~~~~~~~~

出0入0汤圆

发表于 2013-7-16 16:22:05 | 显示全部楼层
不得不说。。。我也是一般看了贴感觉没有收获我是不会顶的,但是看了这篇觉得受益匪浅。我顶顶顶

出0入0汤圆

发表于 2013-7-16 16:30:08 | 显示全部楼层
先标记一下,后面细度

出0入0汤圆

发表于 2013-7-16 16:56:22 | 显示全部楼层
帮顶 看看

出0入0汤圆

发表于 2013-7-18 09:45:02 | 显示全部楼层
mark,肯定用得上

出0入0汤圆

发表于 2013-7-18 12:06:14 | 显示全部楼层
mark         

出0入0汤圆

发表于 2013-7-19 08:59:25 | 显示全部楼层
顶完再看帖。

出0入0汤圆

发表于 2013-7-19 12:11:00 | 显示全部楼层
挺好,写得不错

出0入0汤圆

发表于 2013-7-19 12:26:33 | 显示全部楼层
mark           

出0入0汤圆

发表于 2013-7-19 22:55:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-7-20 11:42:12 | 显示全部楼层
标记一下

出0入0汤圆

发表于 2013-7-20 13:30:53 | 显示全部楼层
mark!!!!!!!!!!!!!

出0入0汤圆

发表于 2013-7-20 16:27:16 | 显示全部楼层
mark                                                

出0入0汤圆

发表于 2013-7-20 17:04:46 | 显示全部楼层
我就是那种消抖用delay(20)的菜鸟……弱弱的问一句,这个矩阵键盘怎么破?后面回复倒是有说到,可是网页打不开……还请大神们赐教

出0入0汤圆

发表于 2013-7-20 17:51:04 | 显示全部楼层
这个很有思想性啊!真的学习了!

出0入0汤圆

发表于 2013-7-20 18:12:07 | 显示全部楼层
回头细看

出0入0汤圆

发表于 2013-7-20 19:49:57 | 显示全部楼层
怎么一个帅字了得~~~

出0入0汤圆

发表于 2013-7-21 00:37:33 | 显示全部楼层
厉害,学习啦!!

出0入0汤圆

发表于 2013-7-23 21:19:19 | 显示全部楼层
好东西,好好学习

出0入0汤圆

发表于 2013-7-23 21:21:18 | 显示全部楼层
好东西,顶

出0入0汤圆

发表于 2013-7-24 16:10:30 | 显示全部楼层
讲解的真是很详细

出0入0汤圆

发表于 2013-7-24 20:00:49 | 显示全部楼层
马赛克啊~~~

出0入0汤圆

发表于 2013-7-26 12:27:35 | 显示全部楼层
谢谢分享!!

出0入0汤圆

发表于 2013-7-26 12:55:58 | 显示全部楼层
还可以

出0入0汤圆

发表于 2013-7-26 14:27:34 | 显示全部楼层
mark,谢谢楼主分享!

出0入0汤圆

发表于 2013-7-29 22:38:09 | 显示全部楼层
这个案件扫描我是用ucos做的,不用考虑那么多了,放在一个任务里就ok了。

出0入0汤圆

发表于 2013-7-29 23:26:40 | 显示全部楼层
此贴好火啊,浇油。。

出0入0汤圆

发表于 2013-8-6 09:12:10 | 显示全部楼层
真是巧夺天工!

出0入0汤圆

发表于 2013-8-6 13:01:57 | 显示全部楼层
赞一个!!!!!

出0入0汤圆

发表于 2013-8-7 16:55:36 | 显示全部楼层
先mark下!

出0入0汤圆

发表于 2013-8-7 17:31:00 | 显示全部楼层
也没什么牛逼的,要看具体情况,具体处理的。只能说用简单的逻辑实现看起来比较多的逻辑代码。

出0入0汤圆

发表于 2013-8-7 20:19:35 | 显示全部楼层
好东西,回头试试

出0入0汤圆

发表于 2013-8-8 17:58:49 | 显示全部楼层
这个思路确实不错的

出0入0汤圆

发表于 2013-8-11 18:33:04 来自手机 | 显示全部楼层
mark……
顶一个…

出0入0汤圆

发表于 2013-8-12 08:09:47 | 显示全部楼层
好文章  收着了

出0入0汤圆

发表于 2013-8-12 10:13:25 | 显示全部楼层
mark~!·~~~~~~~~~~~~~~

出0入0汤圆

发表于 2013-8-28 10:53:51 | 显示全部楼层
先收藏起来哈

出0入0汤圆

发表于 2013-8-28 15:26:46 | 显示全部楼层
确实很好,算法是精华!

出0入0汤圆

发表于 2013-8-28 15:50:41 | 显示全部楼层
学习了            

出0入0汤圆

发表于 2013-8-29 11:59:09 | 显示全部楼层
mark~! 一会看

出0入0汤圆

发表于 2013-8-29 16:25:07 | 显示全部楼层
数字逻辑电路的精髓啊!

出0入0汤圆

发表于 2013-8-29 17:03:44 | 显示全部楼层
mark,需要研究研究!

出0入0汤圆

发表于 2013-8-29 18:36:54 | 显示全部楼层
果断收藏起来

出0入0汤圆

发表于 2013-9-2 10:41:48 | 显示全部楼层
学习一下,谢谢!

出0入0汤圆

发表于 2013-9-5 09:53:51 来自手机 | 显示全部楼层
挺好的,顶

出0入0汤圆

发表于 2013-9-5 17:27:25 | 显示全部楼层
这个不适用矩阵按键呀

出0入0汤圆

发表于 2013-9-6 04:04:58 来自手机 | 显示全部楼层
跟我以前用的差不多,思想是一致的,算法是一致的,但语言更精辟,变量也要少一个。就是去抖部分就跟while(按键松开)没什么区别了,直接去掉一个while就好了。还有,按了一个按键再两个按键一起按下时会当无键处理。

出0入0汤圆

发表于 2013-9-8 00:32:53 | 显示全部楼层
谢谢楼主,挺简洁的

出0入0汤圆

发表于 2013-9-8 12:39:13 | 显示全部楼层
确实好

出0入0汤圆

发表于 2013-9-9 09:04:09 | 显示全部楼层
STM32怎么利用这个楼主的代码呢?

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-9-19 12:15

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

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