老师好,本人初学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;
- }
-
- }
|