Bonjour, Décidément je n'arrive pas à comprendre la portée des variables entre le fichier main Header et CPP Merci de votre patience !
J'ai une erreur à la compilation "multiples définitions".
Je pense que je ne peux pas utiliser rxdata dans un fichier .cpp autre que dans Test1.cpp J'ai tout essayer y compris extern
Y a-t-il une solution merci
Fichier .ino
Fichier Test1.hCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <Arduino.h> #include "Test1.h" #include "Test2.h" void setup() { Serial.begin(115200); InitData(); loadData(); } void loop() { }
Fichier Test2.hCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #ifndef TEST1_H #define TEST1_H #include <Arduino.h> typedef struct { bool val1; bool val2; uint32_t ch[16]; }Data; Data rxData; void InitData(); #endif
Fichier Test1.cppCode:
1
2
3
4
5
6
7
8
9 #ifndef TEST2_H #define TEST2_H #include <Arduino.h> void loadData(); #endif
Fichier Test2.cppCode:
1
2
3
4
5
6
7 #include "Test1.h" void InitData(void) { rxData.ch[1] = 1; }
Code:
1
2
3
4
5
6
7
8 #include "Test2.h" #include "Test1.h" void loadData(void) { rxData.ch[1] = 0; }