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
}
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号