LED闪烁代码 加循环和不加循环有什么区别

void main()
{
         
         
             ledD1=0;
            delay(60000);
            ledD1=1;
            delay(60000);
         

}

这种是可以实现效果的。

void main()
{
         
           while(1)
           {
               ledD1=0;
            delay(60000);
            ledD1=1;
            delay(60000);
    
           }     

}

这种也是可以的

第一种和第二种效果是一样的,都达到了闪烁的目的。

第二种是很好理解的,程序是一直在while循环里面就没出来过,也没有从main函数中出来过。

第一种按程序的意思是D1闪一下就好了,但实际上是一直闪。这个是单片机开发板的设置问题,出厂好象就是这样的,你烧录进去的程序它会一直重复的执行。第一种的程序执行过程是这样的,D1亮一下,delay, D1灭一下 delay,OK这时候从main函数出来了,完成了程序的第一次执行,然后又执行第二次,等等。

两种方法效果是不一样的,但程序流程完全不一样,我更偏向第二种,第一种执行效果会让人迷惑。

猜你喜欢

转载自www.cnblogs.com/yfish/p/10853259.html