微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 那些年,我被晕的程序问题

那些年,我被晕的程序问题

时间:10-02 整理:3721RD 点击:

  1. void keyscan()
  2. {
  3.         if(s2==0)
  4.         {
  5.                 while(s2==0);
  6.                 num++;
  7.         }
  8.         if(s3==0)
  9.         {
  10.                 while(s3==0);
  11.                 num=0;
  12.         }
  13. }

复制代码

这个while(s2==0);怎么看都是没有用的啊,去掉之后运行无差错。

你可以看看去掉前后,num的变化

这个while(s2==0);相当于等待按键松开

while(s2==0);这个是等待按钮抬起后num才加1,要是去了就是按着s2就加1了,肯定不对呀

这是一个按键松手检测语句啊

这个时候你要慢动作分解按键按下和松开的过程,然后就明白了

去掉的话,你长按按键可定会出错的……

C语言的话 if 不带 else  是个很不好的习惯哦

S2有没有进行变量定义?

这是个等等按键松手然后再执行该按键功能的语句

谢谢,我懂了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top