arduino non funziona con troppi if annidati

Ho creato un programma con tanti if uno dentro l'altro e mi sono accorto che dopo un tot di if annidati arduino si blocca e incomincia a saltare istruzioni e a non comportarsi come dovrebbe. All'inizio ho pensato che fosse un problema di collegamenti ma poi semplificando il codice ho notato che non era così. C'è qualcuno che sa se ci sono delle direttive e/o consigli per capire come e quanti if annidati posso inserire? Ringrazio tutti coloro che cercaranno di aiutarmi

Beh non penso che sia un problema di if annidati. Magari di scrittura di codice o al massimo di memoria utilizzata. Perchè non posti il codice? Quanti if annidati ci sono?

Innanzitutto ti ringrazio per il tuo tempo. Ti posso assicurare che il codice funziona.Come faccio a saperlo? Beh il codice è composto da 3 blocchi . Se li eseguo tutti e 3 insieme si comporta in modo anomalo. Se li eseguo invece uno alla volta si comporta come dovrebbe. Pensa che anche la cosa più scema tipo un Serial.print(" CIAO"); con i rispettivo delay viene ignorato o eseguito male. Il codice non lo posso postare perchè questo sarà impiegato in un sistema di gestione campi sportivi nel mio parco e di conseguenza analizzando il codice si possono ricavare le password. E' difficilissimo che questo forum possa essere visto da qualcuno del mio parco però preferisco evitare in quanto tutto il mio lavoro sarebbe poi vano.

Ti posso dire che ci sono tantissimi if annidati uno dentro l'altro anche 10 forse.Da come è strutturato non posso utilizzare altri costrutti tipo if a + condizioni, if ... else o switch case perchè è un'analisi progressiva : i dati vengono elaborati a seconda del risultato dello stadio precedente e a seconda del risultato c'è un'operazione specifica.Ho pensato ora di raggruppare i pezzi di codice in funzioni e chiamare dal loop() la funzione per eseguire un blocco di istruzioni perchè ho notato che questo mi ha risolto qualche problemino nell'esecuzione dei 3 blocchi contemporaneamente. Questa è l'unica cosa che io possa fare...ottimizzare il codice. Ho utilizzato quasi tutta la memoria per il programma , utilizzo la eeprom per salvare i dati, e i pins , sia analogici che digitali, sono tutti occupati. Sto mettendo a dura prova l'arduino.Forse è questo il problema....è saturo!

Prova ad oscurare la password e mandarci il codice....mi incuriosisce questa cosa.

ciao

Ragazzi proprio ora ho risolto....ho diviso tutto per funzioni invece di fare tutto nel LOOP()...ed ora non impazzisce + . Grazie a tutti per avermi dedicato il vostro tempo.chissà se a qlk1 possa servire questa scoperta

@Jordy potrebbe servire anche il codice PRE e POST risoluzione…

Ti consiglio anche un’altra cosa che ho scoperto di recente:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1244489919
In questo modo snellisci il codice…

grazie mille ma non ho proprio idea di cosa parlino questi nel tuo link...fortunatamente la programmazione con chiamate a funzioni ha funzionato a meraviglia...Cmq grazie mille per il tuo contributo. ;D