用户工具

站点工具


reference:language:delay

delay()

描述

使程序暂定设定的时间(单位毫秒)。(一秒等于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)值和引脚状态会保持,中断也会按设定的执行。

reference/language/delay.txt · 最后更改: 2017/04/07 10:03 (外部编辑)