使程序暂定设定的时间(单位毫秒)。(一秒等于1000毫秒)
delay(ms)
ms:暂停的毫秒数(unsigned long)
无
ledPin = 13 / / LED连接到数字13脚 void setup() { pinMode(ledPin, OUTPUT); // 设置引脚为输出 } void loop() { digitalWrite(ledPin, HIGH); // 点亮LED delay(1000); // 等待1秒 digitalWrite(ledPin, LOW); // 灭掉LED delay(1000); // 等待一秒 }
虽然创建一个使用delay()的闪烁LED很简单,并且许多例子将很短的delay用于消除开关抖动,delay()确实拥有很多显著的缺点。在delay函数使用的过程中,读取传感器值、计算、引脚操作均无法执行,因此,它所带来的后果就是使其他大多数活动暂停。其他操作定时的方法请参加millis()函数和它下面的例子。大多数熟练的程序员通常避免超过10毫秒的delay(),除非程序非常简单。
但某些操作在delay()执行时任然能够运行,因为delay函数不会使中断失效。通信端口RX接收到得数据会被记录,PWM(analogWrite)值和引脚状态会保持,中断也会按设定的执行。