Ciao a tutti
Ho inventato un prova cavi LAN (UTP) con un ATmega328p che trasmette impulsi diversi e un altro che li identifica e visualizza sul display lo stato del cavo. I due microcontrollori devono fare cose diverse, perciò sembra ovvio che debbano essere programmati diversamente.
Fino a qualche giorno fa era così; poi, però, ho pensato di mettere insieme i due programmi, con un pin che seleziona quale parte del programma deve essere usata: letto lo stato del pin all'accensione, l'esecuzione entra definitivamente in un while(1) o nell'altro, eseguendo il programma richiesto.
Per fare ciò, fin dal setup l'esecuzione ha due strade diverse, che vengono selezionate prima nel setup e poi nel loop.
Per quanto riguarda le variabili, invece, non ho trovato altro modo che dichiararle tutte insieme all'inizio.
Tutto funziona benissimo e non ci sono assolutamente problemi di memoria, ma mi è venuta la curiosità: se dovessi realizzare qualcosa di simile con molte variabili, potrei dichiarare solo quelle che servono per la parte di programma che è stata selezionata? Potrei farle locali in ciascuno dei due while(1)?
Grazie
Gianluca