volatile

volatileは、Cで定義されているキーワードの1つです。これは、変数データパターンを宣言する前に、コンパイラとその後のプログラムコードが操作方法を変更できるようにするために使用されます。 。

変数を揮発性に宣言すると、コンパイラの動作を起動できます。コンパイラは、C/C ++言語プログラムコードをマシンコードに変換できるソフトウェアであり、変換されたマシンコードは86Duino CPUによって実行されます。

Volatileの特別な点は、コンパイラを起動して、一時的なレジスタではなくRAMから変数をロードすることです(一時的なレジスタは、プログラムが一時的に変数を保存して呼び出すためのスペースです)。場合によっては、変数値をレジスタに保存することが不正確になる場合があります。

変数が他の同時実行スレッドによって変更される可能性がある場合、それらは揮発性として宣言する必要があります(たとえば、割り込みサブプログラムとユーザープログラムによって共有されるグローバル変数)。これは、割り込みサービスのルーチン制御割り込みのみが関連している86Duinoで発生する可能性があります。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

// LEDスイッチが作動すると、ピンの状態が切り替わります

 

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;

}

 

See also

- attachInterrupt()


 

文法リファレンスメインページ

このページは、Hot Blooded Youth LBUによって英語版から翻訳されています。

86DuinoリファレンスのテキストはArduinoリファレンスの改変版でありCreative Commons Attribution-ShareAlike 3.0 License. 。リファレンス内のコードサンプルはパブリックドメインとして公開されています。