arduino 读取当前时间_Arduino语法-时间函数

本文介绍了Arduino中用于时间操作的三个关键函数:millis()用于获取系统运行的毫秒时间,delay()提供毫秒级别的延时功能,而delayMicroseconds()则用于微秒级别的延时。通过示例代码,解释了如何正确使用这些函数以避免溢出问题,并展示了如何利用它们实现LED灯的周期性闪烁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数列表

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值