Delay()
来自YFRobotwiki
描述
暂停程序指定为参数的时间量(以毫秒为单位)。 (一秒钟内有1000毫秒)
语法
delay(ms)
参数
ms: 要暂停的毫秒数(unsigned long)
返回
nothing
示例
int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }
警告
虽然使用delay()函数创建闪烁的LED很容易,并且许多草图对于诸如开关去抖动之类的任务使用短延迟,但在草图中使用delay()具有显着的缺点。 在延迟功能中,传感器,数学计算或引脚操作的其他读数都不能继续,因此实际上它会使大部分其他活动停止。 对于控制时序的其他方法,请参阅下面的millis()函数和草图。 更多知识渊博的程序员通常避免对延迟超过10毫秒的事件定时使用delay(),除非Arduino素描非常简单。
某些事情会继续进行,而delay()函数则控制Atmega芯片,因为延迟功能不会禁止中断。 记录RX引脚上出现的串行通讯,维持PWM(analogWrite)值和引脚状态,并且中断(interrupts)将按原样工作。
扩展阅读
更多建议和问题欢迎反馈至 YFRobot论坛