请教鸿哥,关于你的独立按键自锁标志位的问题
时间:10-02
整理:3721RD
点击:
if(key_sr1==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位
{
ucKeyLock1=0; //按键自锁标志清零
ucKeyStartFlag1=0; //停止计数器
uiKeyTimeCnt1=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。
}
else if(ucKeyLock1==0)//有按键按下,且是第一次被按下
{
ucKeyStartFlag1=1; //启动计数器
if(uiKeyTimeCnt1>const_key_time1)
{
ucKeyStartFlag1=0; //停止计数器
uiKeyTimeCnt1=0;
ucKeyLock1=1; //自锁按键置位,避免一直触发
ucKeySec=1; //触发1号键
}
}
鸿哥就是变粗加下划线的那句为什么不是else if(key_sr1==0),你的那句我始终高明不明白
{
ucKeyLock1=0; //按键自锁标志清零
ucKeyStartFlag1=0; //停止计数器
uiKeyTimeCnt1=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。
}
else if(ucKeyLock1==0)//有按键按下,且是第一次被按下
{
ucKeyStartFlag1=1; //启动计数器
if(uiKeyTimeCnt1>const_key_time1)
{
ucKeyStartFlag1=0; //停止计数器
uiKeyTimeCnt1=0;
ucKeyLock1=1; //自锁按键置位,避免一直触发
ucKeySec=1; //触发1号键
}
}
鸿哥就是变粗加下划线的那句为什么不是else if(key_sr1==0),你的那句我始终高明不明白

