メインコンテンツに移動

周期処理(MsTimer2)

周期処理(MsTimer2)

周期的な処理を行うためのライブラリです。
MsTimer2は、ArduinoのPlaygroundに掲載されているものとと同様の文法で使用可能です。

MsTimer2を使用するためには、#include <MsTimer2.h> を記述してください。

MsTimer2::set

概要
指定した周期間隔(ms)で処理する関数を登録します。
文法
MsTimer2::set(unsigned long ms, void (*function)())
パラメータ
ms: 周期(ms)
function: 関数名
戻り値
なし
注意
タイマー処理(function)内はデフォルトでは割り込み禁止で実行されます。割り込みを伴う処理はinterrupts()で割り込み許可してください。

MsTimer2::start

概要
setしたタイマーをスタートします。
文法
MsTimer2::start()
パラメータ
なし
戻り値
なし

MsTimer2::stop

概要
タイマーをストップします。
文法
MsTimer2::stop()
パラメータ
なし
戻り値
なし

サンプルプログラム

MsTimer2を使ったサンプルです。


#include <Arduino.h>
#include <MsTimer2.h>
int ledpin = PIN_LED_GREEN;
void flash() {
  static boolean output = HIGH;
 
  digitalWrite(ledpin, output);
  output = !output;
}
 
void setup() {
  pinMode(ledpin, OUTPUT);
 
  MsTimer2::set(500, flash); // 500ms period
  MsTimer2::start();
}
 
void loop() {
}