永发信息网

下面程序中 if(s1!=key1),key1=s1;该怎么理解,为什么缺少其中的一个,按键就不能按一下加1

答案:1  悬赏:60  手机版
解决时间 2021-04-07 02:04
  • 提问者网友:沦陷
  • 2021-04-06 06:54
下面程序中 if(s1!=key1),key1=s1;该怎么理解,为什么缺少其中的一个,按键就不能按一下加1
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-04-06 07:56
s1!=key1
这个是判断s1和key1是否不相等,不相等的话,为真;相等,则为假

key1=s1
这个是直接赋值,将s1的值赋给key1,如果s1的值不为0,那么整个表达式的的值恒为真,就没有判断的意义了追问你看我这样理解对不对
当按键按下时,s1为0,而key1为1,所以为真,然后执行下面的语句,当执行key1=s1时,将s1的值赋给key1,然后再去执行if(s1!=key1)进行判断表达式是否为真。追答你这个按键消抖写的就有问题
 if(s1!=key1)
  { 
    delay(10);//延时10 ms
   if(s1==0)//这个判断根本就没有意义
   {
   day++;
   } 
   key1=s1;
  }应该是

 if(!key1)
  { 
    delay(10);//延时10 ms
   if(!key1)
   {
   day++;
   } 
   while(!key1);
   delay(10);//延时10 ms
   while(!key1);
  }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯