- Arduino项目开发:音乐创意
- 李永华 彭木根
- 316字
- 2021-03-31 00:52:15
1.4.5 时间函数
1. delay(ms)
该函数是延时函数,参数是延时的时长,单位是ms。延时函数的典型例程是跑马灯的应用,使用Arduino开发板控制4个LED依次点亮,程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P23_15726.jpg?sign=1739383995-0QEkuh58rdvxJ2Ju7ZzGiQatXiG0C5Yl-0-c89b618751e1ad9e4489560a11b6a677)
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=1739383995-YseMDUVxLIPvKlK4F3mQDtuMrYjaBohz-0-e9bda9acf6b6e1ff2a3a27a9f25e7091)
4. micros()
micros()也是计时函数,该函数返回开机到现在运行的时间长度,单位为μs。返回值是unsigned long型,70min溢出。程序如下:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15709.jpg?sign=1739383995-EsoIWaNjHsB5xnje0OYULZn659REOs13-0-0a08ad2c407bbaa1945a24357783b72e)
以下例程为跑马灯的另一种实现方式:
![](https://epubservercos.yuewen.com/353D95/15477657705643506/epubprivate/OEBPS/Images/Figure-P24_15711.jpg?sign=1739383995-i0xJb0fK9Cns8UY3lvovj5CkbQSK3YVv-0-2ac9ebcdf9942983288b2c93f89f0853)