![Arduino项目开发:音乐创意](https://wfqqreader-1252317822.image.myqcloud.com/cover/779/27111779/b_27111779.jpg)
上QQ阅读APP看书,第一时间看更新
1.4.5 时间函数
1. delay(ms)
该函数是延时函数,参数是延时的时长,单位是ms。延时函数的典型例程是跑马灯的应用,使用Arduino开发板控制4个LED依次点亮,程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P23_15726.jpg?sign=1739409853-ohrb5DfcQtWoks9znXAiXXIuNspNlslP-0-08e7230ea791c69df8efabe8a325f84f)
2. delayMicroseconds()
delayMicroseconds()也是延时函数,单位是μs,该函数可以产生更短的延时。
3. millis()
millis()为计时函数,应用该函数可以获取单片机通电到现在运行的时间长度,单位是ms。系统最长的记录时间为9h22min,超出则从0开始。返回值是unsigned long型。
该函数适合作为定时器使用,不影响单片机的其他工作(而使用delay函数期间无法进行其他工作)。计时时间函数使用示例,延时10s后自动点亮LED,程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P23_15727.jpg?sign=1739409853-Rf8XkOsK5hkqFK0oSWIRZUR5RRLIvkWA-0-b5ba0a3524efa26b2bd97a8dd5d5797d)
4. micros()
micros()也是计时函数,该函数返回开机到现在运行的时间长度,单位为μs。返回值是unsigned long型,70min溢出。程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15709.jpg?sign=1739409853-NwyilvHUpoeOAA1oAr8TCIfa5mcixEeT-0-e1cf4e894c1531475b7762f119fe835e)
以下例程为跑马灯的另一种实现方式:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15711.jpg?sign=1739409853-ntnFk8m5YjU69uxYFz1fnIz5pZo7gikS-0-856de38be392de3cc953bfbaff07bc1a)