![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=1738853603-ceggueyogXj7bOLB7T9LV5Ya6MuWZSBS-0-6942fe94b5fdaa48d5adb9fc163d0cd1)
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=1738853603-6gkamfjN3NliCNJ1GN3bRvtBm1xT8kqI-0-f2a4ea1714c10174dbc95afa328daaab)
4. micros()
micros()也是计时函数,该函数返回开机到现在运行的时间长度,单位为μs。返回值是unsigned long型,70min溢出。程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15709.jpg?sign=1738853603-lNd8BCqPaw1Pf6eo1lOKcjwHueTRMuJz-0-cfbfe8264e4f6d92bf62236d428df949)
以下例程为跑马灯的另一种实现方式:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15711.jpg?sign=1738853603-bdIiYv1XA3nKlVBraTOGhK6gMzA9Fxzm-0-ae13564d6729ec9be345f2de262680fb)