老师好,本人初学dsp,用28335,现在要求,六个按键实现不同功能,这个程序现在功能可以实现,但存在误读,就是读两次按键或者不读按键,大神说延时去抖动有问题,但不知从何下手,请大家帮忙看下。 if(key1==0)
{
delay(20);
if(key1==0);
{
while(!key1);
num1++;
if(num1>=3)
num1=0;
}
}
//********************************************************************
if(key2==0)
{
delay(20);
if(key2==0);
{
delay(20);
while(!key2);
num2++;
if(num2>=6)
num2=0;
Funflag=1;
}
}
//***********************************************************
if(key3==0)//按键3
{
delay(20);
if(key3==0);
{
delay(20);
while(!key3);
num3++;
// y2=y2+17;
flag3=1;
if(num3==8)
{
num3=1;
}
}
}
//****************************************************************
if(key4==0)////按键4
{
delay(20);
if(key4==0)
{
delay(20);
while(!key4);
num4++;
// flag4=1;
}
}
//*******************************************************************
if(key5==0)//按键5
{
delay(20);
if(key5==0);
{
delay(20);
while(!key5);
num5++;
//flag5=1;
}
}
//************************************************************************
//if((key6==0)&((num2==3)||(num2==4)))//按键6
if(key6==0)
{
delay(20);
if(key6==0);
{
delay(20);
while(!key6);
num6++;
key6flag=1;
if(num6>=4)
num6=1;
}
}
|