當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。