millis
リファレンス
説明
プログラムが書き込まれ、実行されてからの経過時間(ミリ秒)を返す関数です
注意すべき点
返り値は unsigned long
型です
int
に値を代入することも可能ですが、 unsigned long
は int
や long
と比べて保持可能なデータ量が大きいので、
長い時間を計測する場合などにエラーを引き起こす原因となることがあります
サンプルコード
unsigned long time = millis();
// delayを使わないクロック
unsigned long start_ms;
// クロックを開始する関数
void clock_start() {
digitalWrite(5, HIGH);
start_ms = millis();
}
// 定期実行してクロックを停止させる関数
void clock_check(unsigned long duration) {
if(millis() - start_ms >= duration) {
digitalWrite(5, LOW);
}
}