硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2975|回复: 7
收起左侧

[有问必答] 按键FIFO中ucKeyCode的值和switch里面的值如何对应

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2019-8-9 15:43:49 | 显示全部楼层 |阅读模式
在程序中压入的键值是这条语句:
bsp_PutKey((uint8_t)(3 * i + 1));
所以每次压入的值都是3*i+1,但是switch中的ucKeyCode可能的值是枚举定义里面的值,枚举定义的值是这样的
typedef enum
{
        KEY_NONE = 0,                       

        KEY_1_DOWN,                               
        KEY_1_UP,                               
        KEY_1_LONG,                               

        KEY_2_DOWN,                               
        KEY_2_UP,                               
        KEY_2_LONG,                               
}KEY_ENUM;

感觉和压入的键值对应不起来,这是什么原理啊,谁能帮忙解答一下,万分感谢!!!

回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2019-8-9 15:49:32 | 显示全部楼层
  KEY_NONE = 0,                        

        KEY_1_DOWN = 1,                                
        KEY_1_UP = 2,                                
        KEY_1_LONG = 3,                                

        KEY_2_DOWN = 4,                                
        KEY_2_UP = 5,                                
        KEY_2_LONG = 6,      
看了我写的这个,懂了没   

代码不规范,亲人两行泪!
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2019-8-9 15:53:52 | 显示全部楼层
missfox 发表于 2019-8-9 15:49
KEY_NONE = 0,                        

        KEY_1_DOWN = 1,                                

这我知道,但是压入FIFO的值不是3*i+1(也有3*i+2),那压入的键值有些就不在0-6之间了,嗯。。。还是说我理解错了,压入的键值并不是3*i+1后的结果
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2019-8-9 15:59:49 | 显示全部楼层
赵加文 发表于 2019-8-9 15:53
这我知道,但是压入FIFO的值不是3*i+1(也有3*i+2),那压入的键值有些就不在0-6之间了,嗯。。。还是说我 ...

t.jpg
代码不规范,亲人两行泪!
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2019-8-9 16:07:19 | 显示全部楼层

非常感谢你那么详细地回答我问题,但是我还是没整明白(菜哭),压入的键值比方说是3*i+1,比如当i=4,那么压入的键值就是13,但是switch里可能的值是0-6,这样的话岂不是就对不上了。还请指导指导
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2019-8-9 16:26:37 | 显示全部楼层
赵加文 发表于 2019-8-9 16:07
非常感谢你那么详细地回答我问题,但是我还是没整明白(菜哭),压入的键值比方说是3*i+1,比如当i=4,那 ...

这问题问的就有点不动脑子了,

你有几个按键,i的范围就多大,一个i值控制三种状态
代码不规范,亲人两行泪!
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2019-8-9 16:37:13 | 显示全部楼层
missfox 发表于 2019-8-9 16:26
这问题问的就有点不动脑子了,

你有几个按键,i的范围就多大,一个i值控制三种状态

哈哈,刚刚又读了一遍代码,突然明白了,非常感谢
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2019-8-9 16:48:22 | 显示全部楼层
missfox 发表于 2019-8-9 16:26
这问题问的就有点不动脑子了,

你有几个按键,i的范围就多大,一个i值控制三种状态

又看了看代码,突然明白啦,非常感谢!!!
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-31 19:09 , Processed in 0.196889 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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