[AVR单片机] 关于按键的疑惑

[复制链接]
1179|1
 楼主| letao2013 发表于 2014-5-14 14:45 | 显示全部楼层 |阅读模式

       if(!(PINA&(1<<PA4)))    //K1
            {
                 delay(15);
                 if(!(PINA&(1<<PA4)))
                              {
                         wtable[3]=0;
                                                                 wtable[2]=0;
                                                                 wtable[1]=0;
                                                                  wtable[0]=0;
                         
                       
                         temp1=num;
                         delay(20);
                         delay(20);
                         data_pro(temp1);
                         PWen(999);
                         keysign=1;
                         num++;
                         if(num==1000)
                            num=0;
                               
                               
                         while(!(PINA&(1<<PA4)));// while(!(PINA&(1<<PA4)));
                                
                         
                                 
      
            }
          
        }   



以上是一个按键处理,没按下一次加一,请问如何改造下,可以短按加1,按住不放一直加呢?我试了好几种方法都不行,请教了
单片机学习0 发表于 2014-5-14 15:45 | 显示全部楼层
把这一句去掉不要while(!(PINA&(1<<PA4)));
改成delay(200);这样就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

54

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部