1 Star 0 Fork 1

li/HardKeyQueue

forked from jiaohaitao/HardKeyQueue 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
key.h 1.03 KB
一键复制 编辑 原始数据 按行查看 历史
jiaohaitao 提交于 2018-07-24 15:58 +08:00 . 按键检测修改为支持多通道按键
#ifndef _KEY_H
#define _KEY_H
#define KEY_CH_NUM 2 //key channel num
#define USE_DOUBLE_KEY //double key enable
#define USE_LONG_KEY //long key enable
typedef enum{
KeyVal_Null,
KeyVal_Single,
KeyVal_Double,
KeyVal_Long
}KeyValType;
typedef enum{
KeyCheckState_Null,
KeyCheckState_Chatter,
KeyCheckState_Press,
KeyCheckState_Done,
KeyCheckState_WaitDouble,
}KeyCheckStateType;
typedef enum{
KeyPress_On,
KeyPress_Off
}KeyPressStateType;
typedef struct{
KeyCheckStateType KeyCheckState;
unsigned int KeyPressMs;
unsigned int KeyGapMs;
}KeyType;
#define KEY_CHATTER_MS 50 ////0-50 :chatter
#define KEY_SHORT_MS 500 //500-1000 :signle
#define KEY_DOUBLE_GAP_MS 500 //500-1000 &0-500&500-1000 :double
#define KEY_LONG_MS 1000 //>1000 :long
//PS:500-1000 &0-500&>1000 :signle&double
//key cyc check delay ms
#define KEY_CHECK_CYC_MS 20
void KeyInit(void);
unsigned char KeySetHardKey(unsigned char,unsigned char key);//for test
unsigned char KeyGetHardKey(unsigned char);
void Key_Check_Cyc(void);//main cyc deal(must)
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/lzh1762/HardKeyQueue.git
git@gitee.com:lzh1762/HardKeyQueue.git
lzh1762
HardKeyQueue
HardKeyQueue
master

搜索帮助