打印

简单按键程序问题。

[复制链接]
1499|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
595332542|  楼主 | 2013-8-13 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
老师好,本人初学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;   
      }

     }

相关帖子

沙发
595332542|  楼主 | 2013-8-13 22:06 | 只看该作者
不要沉下去。。。

使用特权

评论回复
板凳
qq626041858| | 2013-8-13 23:16 | 只看该作者
楼主你的if(key1==0);为什么后面都加分号呢???是不是你不小心加上的???

使用特权

评论回复
地板
gaochy1126| | 2013-8-13 23:39 | 只看该作者
加个延时函数,然后等等待按键按松开的。

使用特权

评论回复
5
gaochy1126| | 2013-8-13 23:40 | 只看该作者
不读取,可能是因为总得循环有问题的。使用中断。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

77

帖子

3

粉丝