< >
Home » Arduino语法参考 » Arduino语法-时间函数

Arduino语法-时间函数

函数列表

  • millis()
  • delay(ms)
  • delayMicroseconds(us)

millis()函数说明

unsigned long millis (void)

毫秒时间

获取机器运行的时间长度, 单位毫秒. 系统最长的记录时间接近50天, 如果超出时间将从0开始.

警告:

时间为 unsigned long类型, 如果用 int 保存时间将得到错误结果:


delay(ms)函数说明

void delay (unsigned long ms)  

延时(毫秒)

延时, 单位毫秒(1秒有1000毫秒).

警告:

参数为unsigned long, 因此在延时参数超过32767(int型最大值)时, 需要用"UL"后缀表示为无符号 长整型, 例如:

delay(60000UL);

同样在参数表达式, 切表达式中有int类型时, 需要强制转换为 unsigned long类型, 例如:

delay((unsigned long)tdelay * 100UL);

一下例子设置13引脚对应的LED等以1秒频率闪烁:

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
}

delayMicroseconds(us)函数说明

void delayMicroseconds (unsigned int us)   

延时(微秒)

延时, 单位为微妙(1毫秒有1000微妙). 如果延时的时间有几千微妙, 那么建议使用 delay 函数. 目前参数最大支持16383微妙(不过以后的版本中可能会变化).

以下代码向第8号引脚发送脉冲, 每次脉冲持续50微妙的时间.

int outPin = 8;                 // digital pin 8

void setup()
{
  pinMode(outPin, OUTPUT);      // sets the digital pin as output
}

void loop()
{
  digitalWrite(outPin, HIGH);   // sets the pin on
  delayMicroseconds(50);        // pauses for 50 microseconds      
  digitalWrite(outPin, LOW);    // sets the pin off
  delayMicroseconds(50);        // pauses for 50 microseconds      
}

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: arduino语法, arduino时间函数