volatile

Description

Le mot-clé volatile est connu en tant que qualificateur de variable et il est utilisé usuellement avant la déclaration d'une type de variable, afin de modifier la façon dont le compilateur, et par voie de conséquence le programme, traitera la variable.

Déclarer une variable volatile est une information pour le compilateur. Le compilateur est la partie du logiciel Arduino qui transforme votre code C/C++ en un code machine (c'est à dire en une suite de 0 et 1), lequel correspond aux instructions réelles pour le microcontrôleur Atmega de votre carte Arduino.

Plus précisément, il indique au compilateur de charger la variable depuis la RAM et pas depuis un registre de stockage, lequel est un emplacement temporaire de la mémoire où les variables sont stockées et manipulées. Sous certaines conditions, la valeur de la variable stockée dans les registres peut-être imprécise.

Une variable devra être déclarée volatile chaque fois que sa valeur pourra être changée par quelque chose d'autre que le code dans laquelle elle apparaît, tel qu'un fil d'exécution concurrent. Avec Arduino, la seule situation où cela risque d'arriver concerne les section de codes associées aux interruptions, appelées également routines de service des interruptions.

Exemple

// inverse l'état de la LED quand une interruption par changement d'état d'une broche survient int pin = 13; volatile int state = LOW; // déclaration variable volatile = stockée en RAM void setup() { pinMode(pin, OUTPUT); attachInterrupt(0, blink, CHANGE); // Attache l'interruption à la fonction blink } void loop() { digitalWrite(pin, state); // met la broche dans l'état voulu } void blink() { state = !state; // inverse l'état de la variable }

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES