OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
楼主: warship

开源键扫例程--- 无须延时消抖等待,能稳定可靠地一体满足普通、短按(单击/双击)、长按、组合等应用需求的键盘扫描程序

    [复制链接]

6

主题

146

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1254
金钱
1254
注册时间
2016-11-30
在线时间
211 小时
发表于 2019-1-22 11:37:12 | 显示全部楼层
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

22

主题

103

帖子

0

精华

高级会员

Rank: 4

积分
950
金钱
950
注册时间
2017-2-23
在线时间
205 小时
发表于 2019-1-22 14:27:51 | 显示全部楼层
回复 支持 反对

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2017-4-24
在线时间
56 小时
发表于 2019-1-22 16:03:04 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2018-12-19
在线时间
2 小时
发表于 2019-1-22 21:52:40 | 显示全部楼层
谢谢楼主的分享
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-9-11
在线时间
6 小时
发表于 2019-1-23 14:24:45 | 显示全部楼层
好好好好好好好
回复 支持 反对

使用道具 举报

17

主题

119

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
466
金钱
466
注册时间
2018-4-26
在线时间
78 小时
发表于 2019-1-23 18:34:40 | 显示全部楼层
look look
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-2-22
在线时间
7 小时
发表于 2019-1-24 10:01:27 | 显示全部楼层
新手上路,学习学习
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2018-11-29
在线时间
13 小时
发表于 2019-1-24 10:48:34 | 显示全部楼层
前来学习
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-10-7
在线时间
34 小时
发表于 2019-1-24 12:24:23 | 显示全部楼层
看看 。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2017-3-16
在线时间
10 小时
发表于 2019-1-24 14:23:05 | 显示全部楼层
厉害
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2018-12-5
在线时间
4 小时
发表于 2019-1-24 15:18:47 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

9

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
426
金钱
426
注册时间
2011-7-11
在线时间
49 小时
发表于 2019-1-24 19:53:10 | 显示全部楼层
按键扫描程序
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2018-12-5
在线时间
39 小时
发表于 2019-1-25 10:48:50 | 显示全部楼层
不错的资料,谢谢楼主
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-9-21
在线时间
9 小时
发表于 2019-1-26 20:16:24 | 显示全部楼层
学习一下吧
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2019-1-26
在线时间
0 小时
发表于 2019-1-27 17:50:48 | 显示全部楼层
cool 大神多多赐教
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-10-19
在线时间
3 小时
发表于 2019-1-28 14:04:28 | 显示全部楼层
学习了!
回复 支持 反对

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2012-5-11
在线时间
4 小时
发表于 2019-1-28 14:34:31 | 显示全部楼层
回复什么啊
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2019-1-28
在线时间
12 小时
发表于 2019-1-28 15:25:26 | 显示全部楼层
666666666666666666666666666666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2013-7-6
在线时间
11 小时
发表于 2019-1-28 16:35:37 | 显示全部楼层
回复 支持 反对

使用道具 举报

56

主题

343

帖子

0

精华

高级会员

Rank: 4

积分
974
金钱
974
注册时间
2016-3-8
在线时间
267 小时
发表于 2019-1-28 18:10:42 | 显示全部楼层
啦啦啦,三行按键一直在用,好东西收藏啦,
回复 支持 反对

使用道具 举报

2

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
199
金钱
199
注册时间
2015-3-23
在线时间
35 小时
发表于 2019-1-28 18:31:15 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
409
金钱
409
注册时间
2013-7-29
在线时间
127 小时
发表于 2019-1-29 10:19:58 | 显示全部楼层
            
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-1-29
在线时间
6 小时
发表于 2019-1-29 10:40:18 | 显示全部楼层
感谢感谢感谢
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2014-1-8
在线时间
11 小时
发表于 2019-1-29 10:43:43 | 显示全部楼层
正好最近需要按键扫描
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2018-7-9
在线时间
13 小时
发表于 2019-1-29 11:13:54 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-11-21
在线时间
1 小时
发表于 2019-1-29 15:41:02 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

23

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1113
金钱
1113
注册时间
2016-8-26
在线时间
256 小时
发表于 2019-1-30 09:43:20 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

37

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2138
金钱
2138
注册时间
2018-2-5
在线时间
403 小时
发表于 2019-1-30 10:28:02 | 显示全部楼层
学习学习!!!
回复 支持 反对

使用道具 举报

22

主题

87

帖子

0

精华

高级会员

Rank: 4

积分
663
金钱
663
注册时间
2019-1-30
在线时间
111 小时
发表于 2019-1-30 10:49:42 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2019-1-30
在线时间
0 小时
发表于 2019-1-30 12:03:25 | 显示全部楼层
这么好的东西收藏了
回复 支持 反对

使用道具 举报

49

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
679
金钱
679
注册时间
2017-11-23
在线时间
133 小时
发表于 2019-1-30 14:03:19 | 显示全部楼层
小白学习啦,3Q
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2015-4-19
在线时间
30 小时
发表于 2019-1-31 12:27:46 | 显示全部楼层
学习一下 谢谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2019-1-31
在线时间
0 小时
发表于 2019-1-31 12:51:00 | 显示全部楼层
感谢楼主的分享
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2019-1-31
在线时间
13 小时
发表于 2019-1-31 13:24:41 来自手机 | 显示全部楼层
过来支持一下
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2019-1-31
在线时间
13 小时
发表于 2019-1-31 13:25:11 来自手机 | 显示全部楼层
过来学习啦
回复 支持 反对

使用道具 举报

1

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2018-2-28
在线时间
86 小时
发表于 2019-1-31 14:55:56 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

6

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
金钱
233
注册时间
2017-4-16
在线时间
70 小时
发表于 2019-1-31 16:57:47 | 显示全部楼层
*****************************
回复 支持 反对

使用道具 举报

8

主题

152

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2011-11-12
在线时间
149 小时
发表于 2019-2-1 13:31:37 | 显示全部楼层
//硬件按键编码
//以上述20键为例(最大暂支持32键,对于键少的系统 KeyS_Type可定义为u16或u8)
KeyS_Type GetHalKeyCode(void)
{
        KeyS_Type ktmp=0;
        if(!KB_RIGHT_IN)         ktmp|=1<<KB_RIGHT;
        if(!KB_DOWN_IN)         ktmp|=1<<KB_DOWN;
        if(!KB_LEFT_IN)         ktmp|=1<<KB_LEFT;
        if(!KB_UP_IN)                 ktmp|=1<<KB_UP;
                //扫描行列式键盘
        KEY_OUT_LINE_NULL;
        KEY_OUT_LINE1;
        ktmp |= KEY_IN0<<4;                //或者直接KEY_IN>>4

        KEY_OUT_LINE_NULL;
        KEY_OUT_LINE2;
        ktmp |= KEY_IN0<<8;                //或者直接KEY_IN

        KEY_OUT_LINE_NULL;
        KEY_OUT_LINE3;
        ktmp |= KEY_IN0<<12;                //或者直接KEY_IN<<4

        KEY_OUT_LINE_NULL;
        KEY_OUT_LINE4;
        ktmp |= KEY_IN0<<16;                //或者直接KEY_IN<<8

        return ktmp;
}

楼主大神,上面的代码看的还不是很明白,一行对应的一列,我的是4*5的矩阵键盘,第5列怎么处理呢?请指教下,谢谢!@warship
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2018-12-25
在线时间
61 小时
发表于 2019-2-1 15:13:26 | 显示全部楼层
啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-2-1
在线时间
8 小时
发表于 2019-2-1 15:42:19 | 显示全部楼层
可以可以
回复 支持 反对

使用道具 举报

31

主题

1951

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4416
金钱
4416
注册时间
2018-5-11
在线时间
922 小时
 楼主| 发表于 2019-2-1 19:46:10 | 显示全部楼层
BowenQQ 发表于 2019-2-1 13:31
//硬件按键编码
//以上述20键为例(最大暂支持32键,对于键少的系统 KeyS_Type可定义为u16或u8)
KeyS_Ty ...

这里示例的行列式键盘是4*4的,
4*5的话,再增加:
        KEY_OUT_LINE_NULL;
        KEY_OUT_LINE5;
        ktmp |= KEY_IN0<<20;
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复 支持 反对

使用道具 举报

8

主题

152

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2011-11-12
在线时间
149 小时
发表于 2019-2-1 20:18:45 | 显示全部楼层
warship 发表于 2019-2-1 19:46
这里示例的行列式键盘是4*4的,
4*5的话,再增加:
        KEY_OUT_LINE_NULL;

不是4行吗?再加一行就五行五列了,我的键盘是4行5列的,能正常工作吗?
回复 支持 反对

使用道具 举报

0

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1506
金钱
1506
注册时间
2016-7-3
在线时间
270 小时
发表于 2019-2-2 12:51:02 | 显示全部楼层
谢谢分享
谢谢分享
回复 支持 反对

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1167
金钱
1167
注册时间
2015-11-9
在线时间
246 小时
发表于 2019-2-2 12:54:52 | 显示全部楼层
感谢无私奉献
回复 支持 反对

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2012-2-15
在线时间
8 小时
发表于 2019-2-2 13:28:02 | 显示全部楼层
不错  下载试试 谢谢分享
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
发表于 2019-2-3 20:20:41 | 显示全部楼层
感谢分享,看一下。
回复 支持 反对

使用道具 举报

31

主题

1951

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4416
金钱
4416
注册时间
2018-5-11
在线时间
922 小时
 楼主| 发表于 2019-2-4 12:48:39 | 显示全部楼层
BowenQQ 发表于 2019-2-1 20:18
不是4行吗?再加一行就五行五列了,我的键盘是4行5列的,能正常工作吗?

学习最忌讳的是生搬硬套,
关键是要搞清原理,之后就会万变不离其宗了。
不管是几*几的键盘,
它的原理是轮流置某行(LINE)为低,然后整体读列KEY_IN0,
这里为4列,原例子是4行,你只须增加一行,就变成了5行*4列了。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

高级会员

Rank: 4

积分
754
金钱
754
注册时间
2019-1-22
在线时间
192 小时
发表于 2019-2-4 21:05:22 | 显示全部楼层
看一看是什么
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2014-3-22
在线时间
9 小时
发表于 2019-2-9 19:34:39 | 显示全部楼层
感谢楼主的分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-2-9
在线时间
3 小时
发表于 2019-2-9 22:16:10 | 显示全部楼层
密码 呢 看看先
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 19:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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