delay()関数を使わずにLチカを実現する方法をもう一つ紹介します。
今回はタイマー割り込みを使ってLチカしています。
タイマーの割り込みインターバルを500mSに設定して、割り込みがかかる毎に
LEDへの出力を反転させています。
#include <MsTimer2.h> // タイマー割り込みに必要なヘッダファイル
// 割り込み時に処理される関数
void flash() {
static boolean output = HIGH;
digitalWrite(LED_BUILTIN, output);
output = !output; // 現在のoutput内容を反転する
}
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // 13番ピンを出力に設定
MsTimer2::set(500, flash); // 割り込みの間隔を500msに設定
MsTimer2::start(); // タイマー割り込み開始
}
void loop() {
// ここには何もプログラムが書かれていません。
}