GNMXD 发表于 2011-8-16 11:25:50

共享 一个 基于状态机思想的 矩阵键盘 源程序

此 矩阵键盘 之前是我大学时写 的俄罗斯方块 中的 矩阵键盘扫描模块。

程序是 基于 状态机的思想编写的,。

通俗易懂,支持短按、长按、按键连_发。

希望 与 大家一切讨论交流

点击此处下载 ourdev_668182A8NIVX.rar(文件大小:3K) (原文件名:MatrixKey.rar)

leofoolish 发表于 2011-8-16 18:04:01

学习

asj1989 发表于 2011-8-16 18:12:19

看看 感兴趣

jdzjk06 发表于 2011-8-16 20:39:22

正要用! 楼主好人!

GNMXD 发表于 2011-8-16 21:03:57

哈,不客气,

希望可以给初学者提供些参考。

更希望,有人说说程序的利弊。

haizaolan 发表于 2011-8-16 22:05:00

学习!

haizaolan 发表于 2011-8-16 22:06:58

学习!

Helloeveryon 发表于 2011-10-7 10:10:17

mark

huayuliang 发表于 2011-10-7 11:02:17

还没看程序,是否使用了时间片?

lixupeng 发表于 2011-11-22 20:46:25

mark学习

www1519 发表于 2011-11-22 20:56:35

mark

odeman 发表于 2011-11-26 16:16:09

学习了

shashai 发表于 2011-12-6 14:37:44

mark 学习下

LSZD 发表于 2011-12-6 15:32:20

回复【7楼】Helloeveryon
mark
-----------------------------------------------------------------------

songke 发表于 2011-12-8 08:13:28

回复【楼主位】GNMXD
-----------------------------------------------------------------------

学习一下

Ca_guo 发表于 2011-12-8 09:09:38

用状态机的思想编程在实际产品中的应用还是不少的

aida66 发表于 2011-12-10 20:26:50

看帖,不回复。不好。不过我建议楼主可以再把程序模块化,规范化,通俗化。增加可移植性。

qinguodong1 发表于 2011-12-10 22:11:31

状态机,矩阵键盘,记录一下

jacky2011 发表于 2011-12-12 14:12:40

mark

pang123hui 发表于 2012-4-22 12:04:54

正常学习状态机,也用了一些,感觉挺好

zhenglu891028 发表于 2012-4-24 10:45:08

学习一下

dongfanghuazi 发表于 2012-4-24 11:16:15

我也是这样想的

Feco 发表于 2012-4-25 09:28:27

学习一下

liuchengone11 发表于 2012-4-25 10:00:38

mark
谢谢分享

paradisespace 发表于 2012-5-31 00:09:37

mark能下载的时候再来看看先谢过

shouqiang_zhang 发表于 2012-5-31 06:06:54

下载了,但解压错误.

paradisespace 发表于 2012-5-31 08:37:17

shouqiang_zhang 发表于 2012-5-31 06:06下载了,但解压错误.

能下载?

sz2009 发表于 2012-6-1 12:04:54

mark,有空看看

liangws201 发表于 2013-10-10 20:47:47

谢谢共享

jemsky 发表于 2013-10-12 16:08:27

下载学习。

oooios 发表于 2013-10-22 08:41:29

++keyPressTimer是在定时器里面实现的吗?

l5h500 发表于 2013-10-31 21:06:38

学习了                                                

WERWER 发表于 2013-11-20 20:44:28

学习。         

liangws201 发表于 2013-12-5 23:23:40

您好,LZ。判断按键 短按、长按 连击的时候如何判断哪个按键短按 长按 连击呢? 小弟一直无法理解。

Tsiov 发表于 2013-12-5 23:45:29

很不错了。
同楼上,建议楼主编得更加规范点,增强可移植性。
另,我在想一个尽可能少消耗系统扫描时间的键盘程序。

凌海滨 发表于 2014-1-17 23:37:55

不错                  

huangxiaowei 发表于 2014-4-16 15:19:04

   顶一下

xujihu 发表于 2014-5-3 11:28:10

支持            

蓝蓝的恋 发表于 2014-5-9 10:14:29

果然是状态机,挺详细的~

weiming4033 发表于 2014-7-2 09:05:09

读一读啊。。。

2014_xkx 发表于 2014-7-9 12:07:39

LZ我也是刚学状态机代码我看了有个地方不是很懂   就是那个根据状态的不同进行的分支语句(switch语句),你那里第一次进去之后进行的动作是保存键值设置状态是消抖状态,然后就退出了,第二次进来,选择第二个case执行的是时间变量++,再判断是否到时间,若到时间了,你的操作是直接把第一次你备份的键值就当做正确的键值给返回了。我的问题是,消抖不是要进过两次判断吗?就是判断消抖前检测到的值与消抖后的值是否一样,一样的话才说明该键值是正确的键值。如果是这样的话,那你的程序就有问题了,你的是进入消抖状态后只是在那判断时间而已,没有判断新检测的键值是否与上一次备份的键值相同否,直接就是默认第一次检测到的就是正确的键值了。。。。。(说了一大堆也不知道说清楚了没,若是这样LZ还觉得是对的,恳请指教、谢谢)

成就与价值 发表于 2014-7-9 17:25:46

学习状态机机制{:handshake:}{:handshake:}{:handshake:}

yyj6798 发表于 2014-7-23 15:38:36

正要编一个比较复杂的键盘,所以谢谢lz

ZYBing 发表于 2014-8-27 21:47:34

谢谢分享!

a651588 发表于 2014-9-28 16:33:42

看看是啥思想{:lol:}

kisscontrol 发表于 2014-9-28 17:23:21

要是能支持组合键就好了,目前正准备加入组合键

jhhoward 发表于 2014-11-8 15:30:12

mark 谢谢分享!

yoursnemo 发表于 2015-7-30 22:58:44

谢谢分享~~~~思路很好,非常感谢。。

unnormal 发表于 2015-8-7 14:06:41

{:handshake:}{:handshake:}{:handshake:}

huanghb 发表于 2015-8-7 15:29:15

好好学习了

chenweigang 发表于 2017-11-21 10:44:58

不错的程序,感谢分享

jxchen 发表于 2019-3-2 23:36:21

看看~~~~~~~~~~~~

maxking 发表于 2019-3-15 09:07:03

感谢!!学习下。

ykhuixuesen 发表于 2019-3-15 09:12:08

真的很好!

wowangru 发表于 2019-3-15 09:17:35

好思想,很不错

bingshuihuo888 发表于 2019-4-4 16:16:58

谢谢分享!

见入佳境 发表于 2019-4-6 15:23:35

谢谢你,我可以用上了
页: [1]
查看完整版本: 共享 一个 基于状态机思想的 矩阵键盘 源程序