大好きArduino

Arduino総合情報サイト

Arduino文法

volatile

2016/06/09

volatileは変数を修飾するキーワードです。
レジスタに記憶された変数の値は不確さを避けるために、型宣言の前に付けて、コンパイラが変数を取り扱う方法を、変数をレジスタではなくRAMからロードするよう、コンパイラに指示します。
変数がコントロールの及ばない別の場所(たとえば並行して動作するコード)で変更される可能性があるときに宣言します。
Arduinoの場合、割り込みサービスルーチンのコードで利用します。

●Example from Arduino Web Site

// toggles LED when interrupt pin changes state

int pin = 13;
volatile int state = LOW;

void setup()
{
  pinMode(pin, OUTPUT);
  attachInterrupt(0, blink, CHANGE);
}

void loop()
{
  digitalWrite(pin, state);
}

void blink()
{
  state = !state;
}

Arduino 原文

-Arduino文法