当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Arduino millis()用法及代码示例


[时间]

说明

返回自 Arduino 板开始运行当前程序以来经过的毫秒数。大约 50 天后,此数字将溢出(回到零)。

用法

time = millis()

参数

None

返回

自程序启动以来经过的毫秒数。数据类型:unsigned long

示例代码

此示例代码在串行端口上打印自 Arduino 板开始运行代码本身以来经过的毫秒数。

unsigned long myTime;

void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Time: ");
  myTime = millis();

  Serial.println(myTime); // prints time since program started
  delay(1000);          // wait a second so as not to send massive amounts of data
}

注意事项和警告

请注意 millis() 的返回值为 unsigned long 类型,如果程序员尝试使用较小的数据类型(例如 int )进行算术运算,可能会出现逻辑错误。即使有符号的long 也可能会遇到错误,因为它的最大值是未签名对应值的一半。

重新配置微控制器的定时器可能会导致 millis() 读数不准确。 “Arduino AVR Boards”和“Arduino megaAVR Boards”内核使用 Timer0 生成 millis() 。 “Arduino ARM(32 位)板”和“Arduino SAMD(32 位 ARM Cortex-M0+)板”内核使用 SysTick 计时器。

相关用法


注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 millis()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。