![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=1739301371-nqahRrlTcWKW5kDNK69cTymLdQxZwA0w-0-93707f48ba3da4efcc2bd1c307b0dfec)
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=1739301371-Rm75iJZQXNsxugQKVtZ7GwzSIXAyD4CO-0-98f6992247c06c7bd957c7fe2bf1450c)
4. micros()
micros()也是计时函数,该函数返回开机到现在运行的时间长度,单位为μs。返回值是unsigned long型,70min溢出。程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15709.jpg?sign=1739301371-3nSHgp1dJEoelIN6QeGIdxjDtWLoW9bQ-0-beecd53b981b69f5a4e4b382bfcfc249)
以下例程为跑马灯的另一种实现方式:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15711.jpg?sign=1739301371-rZuOJ15yKBdvSk5IS3BC7vR557DlhnSu-0-b65dd0ef01125683f002b86d865163ef)