diff options
author | Marti Bolivar <mbolivar@mit.edu> | 2010-11-28 11:23:33 -0500 |
---|---|---|
committer | Marti Bolivar <mbolivar@mit.edu> | 2010-11-28 11:23:33 -0500 |
commit | 5e587be27a7c3bd854b686952a5c9637a2432ff0 (patch) | |
tree | 09d4ceeb46f19287ee874a24516c68be90c9ad8e /docs/source/arduino/volatile.rst | |
parent | db4ff6ba53e9b702c77411ae19cd53d914a675de (diff) | |
download | librambutan-5e587be27a7c3bd854b686952a5c9637a2432ff0.tar.gz librambutan-5e587be27a7c3bd854b686952a5c9637a2432ff0.zip |
reorganized all the arduino/ docs into a lang/ subdirectory since
they're properly CC attributed now.
Diffstat (limited to 'docs/source/arduino/volatile.rst')
-rw-r--r-- | docs/source/arduino/volatile.rst | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/docs/source/arduino/volatile.rst b/docs/source/arduino/volatile.rst deleted file mode 100644 index fc02081..0000000 --- a/docs/source/arduino/volatile.rst +++ /dev/null @@ -1,73 +0,0 @@ -.. _arduino-volatile: - -volatile keyword -================ - -volatile is a keyword known as a variable *qualifier*, it is -usually used before the datatype of a variable, to modify the way -in which the compiler and subsequent program treats the variable. - - - -Declaring a variable volatile is a directive to the compiler. The -compiler is software which translates your C/C++ code into the -machine code, which are the real instructions for the Atmega chip -in the Arduino. - - - -Specifically, it directs the compiler to load the variable from RAM -and not from a storage register, which is a temporary memory -location where program variables are stored and manipulated. Under -certain conditions, the value for a variable stored in registers -can be inaccurate. - - - -A variable should be declared volatile whenever its value can be -changed by something beyond the control of the code section in -which it appears, such as a concurrently executing thread. In the -Arduino, the only place that this is likely to occur is in sections -of code associated with interrupts, called an interrupt service -routine. - - - -Example -------- - -:: - - // 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; - } - - - -See also --------- - - -- `AttachInterrupt <http://arduino.cc/en/Reference/AttachInterrupt>`_ - - - - -.. include:: cc-attribution.txt |