sto "scrivendo " uno schetch per un progetto su arduino nano rp2040
sono arrivato a 3079 righe, e sono a metà,
sta diventando inquietante trovare il punto giusto da modificare.
Volevo iniziare a spostare pezzi di codice su altre schede,
e precisamente volevo sapere se un blocco di codice (quasi tutto) è dentro un if ()
come si procede a suddividerlo in più schede
Concordo con standardoil. io per fare questo in genere creo un file *.ino con setup() e loop() poi divido le varie funzionalità in blocchi di funzioni e variabili a seconda dell'ambito (es. un blocco di funzioni per la gestione del display LCD, uno per la comunicazione di rete, uno per i sensori, eccetera) e definisco quindi per ognuno di questi un file *.h che includo nel *.ino principale, nell'ordine eventualmente necessario. Il file li metti tutti nella stessa directory del file *.ino e quando apri l'IDE te li mostra tutti.
Come ha scritto standardoil, attenzione alle variabili globali e passaggio di parametri ossia ricorda che i file *.h che includi è come se li scrivessi nel file *.ino quindi non puoi avere variabili globali con lo stesso nome in moduli *.h diversi.
L'alternativa sarebbe programmare realmente ad oggetti facendo un *.cpp per ognuna delle classi che vuoi gestire, ma visto che finora hai scritto in modo "procedurale" andiamo su cose più difficili da implementare a questo punto.
Dopo aver raccolto le funzioni in "blocchi" omogenei (per una questione di leggibilità, ad esempio se devi visualizzare qualcosa su un display lcd, tutto il codice relativo lo organizzi in funzioni e lo metti in file tipo "gestione_lcd.h"), l'unica cosa a cui devi stare attento è l'ordine in cui includi questi file nello sketch principale.
Se scrivi #include "gestione_lcd.h" il compilatore prenderà tutto il codice scritto in quel file e lo metterà dove chiami #include.
Quindi se in questo file sono usate variabili globali dello sketch principale, quest'ultime dovranno essere dichiarate PRIMA di #include altrimenti il compilatore non sa che cosa sono.
Questo sketch oramai è troppo incasinato perché è stato scritto senza nessuna regola, Amen . Vuol dire che invece di metterci 3 mesi per completarlo ce ne metterò sei di mesi,
m serve da lezione, da i prossimi sketch scriverò con ordine è pulizia (come disse Confucio)