Objectifs
- Les variables locales
- Les variables globales
- Les variables statiques
- Les variables volatiles
- Exemples implémentés sur la carte Arduino Mega
Les variables locales
- Portée limitée à la fonction
- Non lisible à l’extérieur de la fonction
Les variables globales
- Portée globales
- Lisibles par toutes les fonctions
Variables statiques
- Portée locales à la fonction
- Non lisible à l’extérieur de la fonction
- Maintient la valeur pour chaque appel de la fonction !!!!!!!!!!!
Variables volatiles = variables locales
Exemple
int a,b;
void setup() {
Serial.begin(9600);
}
void loop() {
// Variables locales
/*Serial.println(a);
delay(1000); */
// Variables globales
/*a=10; b=20;
Serial.println(sum2IntGlob());
delay(100);
a=100; b=200;
Serial.println(sum2IntGlob());
delay(2000);*/
// Variables statiques
/*for (int i=0;i<5;i++)
{
Serial.print(varStatic());
Serial.print(" ");
delay(200);
}
Serial.print("\n");
delay(3000);*/
// Variables volatiles
/*for (int i=0;i<5;i++)
{
Serial.print(varVolatile());
Serial.print(" ");
delay(200);
}
Serial.print("\n");
delay(3000);*/
}
int sum2IntLoc(int a, int b)
{
int somme;
somme=a+b;
return somme;
}
int sum2IntGlob(void)
{
return a+b;
}
byte varStatic(void)
{
static byte Count=0;
return Count=Count+1;
}
byte varVolatile(void)
{
volatile byte Count=0;
return Count=Count+1;
}