Buona sera,
so che in Arduino IDE la gestione delle compilation unit è particolarmente complessa.
Sto dividendo il programma in vari file per mantenere il codice ordinato e sto notando che le direttive al precompilatore #ifndef vengono praticamente ignorate tant'è che se includo header1.h file nel suo rispettivo header1.cpp ed in main.h tutte le variabili globali definite nel header1.h vanno in redefinition nonostante header1.h inizi con:
Ora, facendo in università corsi di programmazione dicono che le variabili "NON DEVONO" essere globali (o comunque è fortemente sconsigliato), in Arduino di definire variabili globali è una pratica che si può mantenere oppure ci sono metodi più efficienti e/o corretti per definire lo scope alle variabili?