代码拉取完成,页面将自动刷新
同步操作将从 vtor3478/vtor_elec_module 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef __VTOR_KEY_H
#define __VTOR_KEY_H
#ifdef __cplusplus
extern "C" {
#endif
#include "vtor_elec_module_config.h"
#ifdef __VTOR_KEY__
// 间隔扫描,单位为ms 与 消抖时长
// 允许用户自己设置扫描时间
#ifdef VTOR_KEY_CONFIG_BY_USERSELF
#else
#define VTOR_KEY_TIME_SHAKE 20
#define VTOR_KEY_TIME_LONG_DOWN 200
#define VTOR_KEY_TIME_LONG_UP 200
#define VTOR_KEY_TIME_MAX 1000
#endif // VTOR_KEY_CONFIG_BY_USERSELF
// 按键电平
#define VTOR_KEY_LEVEL_DOWN 0
#define VTOR_KEY_LEVEL_UP 1
// 按键状态
#define VTOR_KEY_STATS_SHAKE 0
#define VTOR_KEY_STATS_UP 1
#define VTOR_KEY_STATS_DOWN 2
#define VTOR_KEY_STATS_LONG_DOWN 3
#define VTOR_KEY_STATS_LONG_UP 4
// 组合按键,当弹起时才相应
#define VTOR_KEY_COMBINE_NULL 0
#define VTOR_KEY_COMBINE_SHORT_CLICK 1
#define VTOR_KEY_COMBINE_LONG_CLICK 2
#define VTOR_KEY_COMBINE_SS_CLICK 11
#define VTOR_KEY_COMBINE_SSS_CLICK 111
#define VTOR_KEY_COMBINE_LL_CLICK 22
#define VTOR_KEY_COMBINE_LLL_CLICK 222
#define VTOR_KEY_COMBINE_SL_CLICK 12
#define VTOR_KEY_COMBINE_LS_CLICK 21
#define VTOR_KEY_COMBINE_SSL_CLICK 112
#define VTOR_KEY_COMBINE_LSS_CLICK 211
#define VTOR_KEY_COMBINE_SLL_CLICK 122
#define VTOR_KEY_COMBINE_LLS_CLICK 221
#define VTOR_KEY_COMBINE_SLS_CLICK 121
#define VTOR_KEY_COMBINE_LSL_CLICK 212
struct VtorKey
{
uint8_t lastLevel;
uint8_t curLevel;
uint8_t lastState;
uint8_t curState;
uint16_t holdTime; // 电平稳定时间(用于消抖与确定长按)
uint8_t combineAction; // 单击,双击,长按等所有情况
struct VtorKey *next;
};
extern struct VtorKey* vtorKeyHeader;
// 用户自行实现初始化与获取电平
void VtorKey_Init(void);
void VtorKey_GetLevel(void);
// 定时调用,需要有大概调用时间
uint8_t VtorKey_Scan(uint16_t scanTime);
// 用户重写回调函数,内部处理对应情况
void VtorKey_CombineHandler(struct VtorKey* key);
void VtorKey_PressHandler(struct VtorKey* key);
void VtorKey_ReleaseHandler(struct VtorKey* key);
#endif // ELEC_MODULE_VTOR_KEY_ENABLED
#ifdef __cplusplus
}
#endif
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。