Variable static int dans une routine est toujours initializée
Bonjour
Le problème que je rencontre n'est peut-être pas spécifique au C sur Arduino:
J'ai une routine me permettant d'afficher des messages extraits d'un tableau en Flash Memory.
Pour afficher l'ensemble des messages en passant de l'un à l'autre j'ai défini une variable static int initialisée à 7 qui s'incrémente au fil des passages et revient à 7 en fin de liste.
Mon problème est que cette variable s'initialise toujours lors de l'appel de la routine.
Code:
1 2 3 4 5 6 7 8 9 10
| //************************Affiche les commandes disponibles**************************
void afficheCommandes(){
static int pos=7;
afficheLcd(message(0),message(pos)); //routine d'affichage sur LCD
pos++;
if(pos==13) pos=7;
if(btPresent) {for(int i=7;i<13;i++) {envoiErreur(i);}} //routine d'affichage sur Bluetooth
delai('s',3);
lcd.clear(); lcd.noBacklight();
} |
Je ne vois pas où est mon erreur. Merci d'une aide.
Michel