![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=1738861437-MNSaYN9UvwLhDTNvaUAcbcPzJubjYcUH-0-b2a5e6a76837539b24f4b8eb11c0d20c)
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=1738861437-0j6Lu3z2HHBpjPWnW683ybnFo5hGaAE3-0-989dd82b27205aed2de04488a47edfa2)
4. micros()
micros()也是计时函数,该函数返回开机到现在运行的时间长度,单位为μs。返回值是unsigned long型,70min溢出。程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15709.jpg?sign=1738861437-bMos2dcCsblpkYomyRmtVCn1f28aPZW2-0-1f8b66ecb3bc497926a0b2c56ada6722)
以下例程为跑马灯的另一种实现方式:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15711.jpg?sign=1738861437-80RPyRSTv1zSeVjVX7PNXDSx2udAJZQc-0-2bc2def992b3eac18b9a89ef97986ed9)