大家看一下这两个语句有区别吗?

2019-07-15 17:16发布

while (1)
        {
           if(i<=1080*n) /*脉冲数*/
              {                        
         
                CLK1=!CLK1;
                for(m=0;m<30;m++)
                     {
                           ;
                     }
                CLK1=!CLK1;
                    DelayMS(1);
                                i++;
               }
                     
          }
/////////////////////////////////////////////////////
while(i<=1080*n)/*脉冲数*/
                         {
                

         
                CLK=!CLK;
                for(m=0;m<30;m++)
                     {
                           ;
                     }
                CLK=!CLK;
                    DelayMS(1);
                                i++;
                     
                    }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
Aidaohuakai
1楼-- · 2019-07-15 19:59
用while(1)就是死循环;
用while(i<=1080*n),只要i一直累加,就有可能满足i>1080*n,这时while(i<=1080*n)为假,就跳出while()循环了
andy_wsj
2楼-- · 2019-07-16 00:44
楼上的说得对
发脉冲最好使用定时器中断来做,频率更稳定
18792451417
3楼-- · 2019-07-16 05:51
可是我调试的结果正好相反呀
Aidaohuakai
4楼-- · 2019-07-16 06:58
 精彩回答 2  元偷偷看……
18792451417
5楼-- · 2019-07-16 10:23
可是我让i<4按第二个语句结果也是停不下来
Aidaohuakai
6楼-- · 2019-07-16 15:48
18792451417 发表于 2015-5-7 18:00
可是我让i

那基本和while(1)没区别,只要n大于0

一周热门 更多>