Bonjour à tous.
Je ne parviens pas à utiliser la variable "lcd" dans le fichier "cpp" lié au fichier "monProgramme.ino" (environnement Arduino).
Nota : LiquidCrystal() est un constructeur disponible sur le web (lien).
Il est normal que le main() soit caché dans l'environnement d'Arduino !
Fichier" monProgramme.ino"
Fichier "mesFonctions.cpp"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <LiquidCrystal.h> #include "mesFonctions.h" LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); afficheMessage(); // Dans le fichier « .cpp ». } void loop() { }
Fichier "mesFonctions.h"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "mesFonctions.h" extern LiquidCrystal lcd; void afficheMessage(){ lcd.setCursor(0, 0); lcd.print("Message"); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include <LiquidCrystal.h> void afficheMessage();
J'obtiens les erreurs suivantes :
1. lorsque je ne mets pas "extern LiquidCrystal lcd;" dans le fichier "mesFonctions.cpp"
mesFonctions.cpp: In function 'void afficheMessage()':
mesFonctions.cpp:7: error: 'lcd' was not declared in this scope
2. lorsque je mets "extern LiquidCrystal lcd;" dans le fichier "mesFonctions.cpp"
mesFonctions.cpp.o: In function `afficheMessage()':
mesFonctions.cpp:7: undefined reference to `lcd'
mesFonctions.cpp:8: undefined reference to `lcd'
Bloqué et pas moyen de trouver la solution malgré divers essais...
Qui peut trouver la solution à ce problème ?
Cordialement.
Partager