打印
[STM32F1]

按键去检测

[复制链接]
楼主: 铜牌之路
手机看帖
扫描二维码
随时随地手机跟帖
楼主
不想按键重复执行:
增加一个标志,按键执行一次后标志位为1,此后如果按键未释放也不再执行按键功能,直到按键释放标志清零

使用特权

评论回复
沙发
ningling_21| | 2015-8-14 10:51 | 显示全部楼层
铜牌之路 发表于 2015-8-14 09:58
问题是现在,按键不是按照定时器扫描的时间执行的,我设置的50ms扫描一次,但是没到次数按键就执行了,我 ...

逻辑有点混乱

key_up 总为1,这里起什么作用?

使用特权

评论回复
板凳
ningling_21| | 2015-8-14 10:57 | 显示全部楼层
铜牌之路 发表于 2015-8-14 10:55
就是一个标志,上面要用到与

完全多余的东西,去掉也完全一样的效果

使用特权

评论回复
地板
ningling_21| | 2015-8-14 11:16 | 显示全部楼层
铜牌之路 发表于 2015-8-14 11:02
还是不好用,按键时间就是不在扫描时间内判断

你再试试

uchar  KEY_AnJian(void)
{
   static   uchar  flag = 0;  
//   static   uint key_count=0;  //定时器扫描次数
   if((flag == 0))
   {
             flag = 1;
             if((KEY_Y==0||KEY_X==0||KEY_Z==0||KEY_S==1||KEY_QueR==0||KEY_FanH==0||KEY_LiuSY==1))
      {
             
             
               if(KEY_Y==0)           return 5;  
               else if(KEY_X==0)      return 6;
               else if(KEY_Z==0)      return 7;
               else if(KEY_S==1)      return 8;  
               else if(KEY_QueR==0)   return 9;  
               else if(KEY_FanH==0)   return 10;
               else if(KEY_LiuSY==1)  return 11;
               else   return 0;
             
          }
   }
   else  
   {
             flag=0;        
   }
   return 0;
}

使用特权

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

本版积分规则