時間

指定時間待ったり、時間を測るライブラリです。

millis

概要
起動してからの時間をミリ秒単位で返します。約50日でオーバーフローして0に戻ります。
文法
unsigned long millis()
パラメータ
なし
戻り値
起動してからの時間[ms](unsigned long)

micros

概要
起動してからの時間をマイクロ秒単位で返します。約70分でオーバーフローして0に戻ります。
文法
unsigned long micros()
パラメータ
なし
戻り値
起動してからの時間[us](unsigned long)

delay

概要
プログラムを指定した時間だけ一時停止します。単位はミリ秒です。
文法
delay(unsigned long ms)
パラメータ
ms: 一時停止する時間[ms]。
戻り値
なし
補足
FreeRTOSのvTaskDelayを使用しているため、タスクスイッチが行われます。

delayMicroseconds

概要
プログラムを指定した時間だけ一時停止します。単位はマイクロ秒です。
文法
delayMicroseconds(unsigned long us)
パラメータ
us: 一時停止する時間[us]。
戻り値
なし
補足
delayと異なりFreeRTOSのvTaskDelayを使用していないため、停止中にタスクスイッチは行われません。

サンプルプログラム

起動してからの時間を100ms間隔でシリアル通信を使用して表示します。


#include <Arduino.h>
#define INTERVAL 100
unsigned long val_time;
 
void setup()
{
    Serial.begin(9600);
}
 
void loop()
{
    val_time = millis();
    Serial.println( val_time );
    delay(INTERVAL);
}