Bjr,
Pour contrôler le déroulement d'un programme, j'ai ajouté une fonction qui m'affiche sur un lcd l'équivalent de Serial.println.
La structure de mon programme initiale est la suivante :
String tableau[4];
//ou
//String tableau[4] = {"","","",""};
byte numLig = 0;
.....
void setup(){
....
}
void loop(){
....
lcdPrintln("Coucou");
delay(1000);
}
void lcdPrintln(String aAfficher){
.....
}
Et le programme fonctionne très bien et affiche bien les lignes les unes après les autres.
Comme tableau et numLig sont uniquement utilisés dans la fonction lcdPrintln() je pensais utiliser des variables locales avec la déclaration static plutôt que des variables locales globales avec la structure ci-dessous :
//String tableau[4];
//ou
//String tableau[4] = {"","","",""};
//byte numLig = 0;
.....
void setup(){
....
}
void loop(){
....
lcdPrintln("Coucou");
delay(1000);
}
void lcdPrintln(String aAfficher){
static String tableau[4];
static byte numLig = 0;
.....
}
La compilation ne se fait pas et j'ai le message d'erreur suivant : undefined reference to `atexit'
Malgré l'usage de google je n'ai pas trouvé de solution à mon problème. Avez-vous une idée sur les modifications à faire pour faire fonctionner le code ?
PS: static byte numLig = 0; fonctionne sans static String tableau[4];