2013-09-24

一:if((key_v & 0x01) == 0)语句中的(key_v & 0x01)的括号 忘记输入,导致按键移位功能没有实现
原因:由于不加括号时“==”运算符的优先级高于‘&’,if内部的条件表达式会从右到坐进行运算,导致错误。
 
二: key_s = 0x00;
     key_s |= K2;
     key_s <<= 1;
     key_s |= K1;
     return key_s;
    想用这种方法进行8位按键的键值保存,而实际上4位以上的高位用按位移的指令后会被接下来的重复移位将高位直接丢弃,不能完成键值的准确读取。
 
三: 按键去抖动的应用
    简单的直接读取一次按键值进行相应显示操作的可以省略去抖动,比如按键读取显示在LED灯上。但是若果有重复动作,比如按键移位或者计数器加1,就必须加上去抖动操作,防止意外的抖动干扰,导致一次按键触发多次操作的错误功能实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值