按键处理方法

本文介绍了按键处理的方法,包括按键扫描、按键状态判断和按键服务等。通过定义不同的标志位和计数器,实现了对短按、长按及释放的区分,并在按键服务函数中进行相应操作。
摘要由CSDN通过智能技术生成

flag     _ucKeyFlag;
#define ucKeyFlag        _ucKeyFlag.allbits
#define    bitKeyRes        _ucKeyFlag._bit.b0
#define    bitKeyLock        _ucKeyFlag._bit.b1
#define    bitKeyLong        _ucKeyFlag._bit.b2
#define    bitKeyLongLock    _ucKeyFlag._bit.b3
#define bitTKScanflag    _ucKeyFlag._bit.b7
*#define        SYMBOL_LONG    0X10
*#define        SYMBOL_QUICK    0X20
*#define        SYMBOL_RELEASE    0X40
unsigned char ucKeyValidCnt;//按键有效计数
unsigned char ucKeyInvalidCnt;//按键无效计数
unsigned int  uiKeyLongCnt;//长按键计数
//unsigned int  uiKeyLongCntBuf;//长按键计数缓存
unsigned char ucKdata;//按键值
unsigned char ucKold;//按键旧值
volatile unsigned char ucKcount;//按键对应值
unsigned char ucLatchData;//按键锁存值
//extern unsigned long int  exKeyValueFlag;
void Sys_Scan()//2ms调用
{      
                    
        ChangeTouchKeyvalue();
        key_scan();
        key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值