在刚接触按键的时候,一直以为在硬件上不支持的情况下,是不能实现将冗余时间减小的。但是,下边的这种却是能实现的:标准思路就是每一个if语句是一个矛盾体,判断的并不是状态,而是按键的变化。
int flag=0;//注意这个标志一定要是(全局变量)
if(flag==0)
{
if(key==1)
{
delay();
if(key==1)flag=1;
else flag=0;
}
}
else { //这还是一个按键的延续
if(key==0)
{
delay();
if(key==0)flag=0;
else flag=1;
}
}
一个键对应一个标志
键按下,标志置1,键弹起,标志位归0。
在标志为1的时候,判断键弹起,在标志位为0的时候,判断键按下。最终的目的就是判断键的变化,而不是判断键此时的状态。
版权声明:本文为博主原创文章,未经博主允许不得转载。