打印

同一个按键控制液晶显示不同内容

[复制链接]
298|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
肉坨坨|  楼主 | 2019-11-27 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用定时器写的扫描,每个10ms扫描一次按键,我在以下里面计数,发现计数自动增加,不知该怎么处理?求高手教以下如何实现按键计数,
     void TIM2_IRQHandler(void)
{
        u8 temp;
        
        if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET )
        {        
                if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == Bit_RESET){
                        temp = 0;
                }
                else{
                        temp = 1;
                }
                KeyPrev = KeyCurrent;
                KeyCurrent = temp;
                if((KeyPrev == 0) && (KeyCurrent == 0)){
                        KeyStatus = 1;
                       KeyCount++;
                }
                else{
                        KeyStatus = 0;
                }
                TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update);                  
        }                        
}

      在main文件这样写
while(1)
  {
    if ( KeyStatus == 0 )
  {     switch(KeyCount)
        {  case 0:function1();
           break;
         case 1:function2();
        break;
        default: function3();
        break;
}
}

使用特权

评论回复

相关帖子

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

本版积分规则

419

主题

431

帖子

0

粉丝