millis()

名称

millis()

説明

Arduinoボードが現在のプログラムを起動してから経過した時間をミリ秒単位で返却する。この値は、約50日後にオーバーフロー(ゼロに戻る)する。

書式

unsigned long millis();

引数

なし。

戻り値

Arduinoボードが現在のプログラムを開始してからのミリ秒。

使用例

以下のコードは、Arduinoボードが現在のプログラムを開始してからのミリ秒を返す。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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も、unsigned longの半分の数値を格納できるだけなので、エラーになるかもしれない。

マイクロコントローラのタイマーを再構成すると、millis()の値が不正確になるかもしれない。Arduino AVRボードとArduino megaAVRボードのコアは、millis()の生成にTimer0を使う。Arduino ARM(32-bits)ボードはとArduino SAMD(32-bits ARM Cortex-M0+)ボードはSysTickタイマーを使う。

参照

利用例 Blink Without Delay

オリジナルのページ

https://www.arduino.cc/reference/en/language/functions/time/millis/

Last Revision: 2022/05/08

実装の解析

millis()

最終更新日

January 4, 2024

inserted by FC2 system