[RISOLTO] Problema con funzione


salve tutti,
sto riprendendo in mano arduino uno per un piccolo progetto/gioco e ho un problema:
dichiaro una funzione per spegnere in un sol colpo quattro led.

code: [select]
void spegniled(){
 for(i=0; i<4; i++){
    digitalwrite(i,low);
 }
}

questa funzione fa esattamente il suo dovere se richiamata in void loop() ma, nel caso la volessi inserire in un ciclo for, mi interrompe il ciclo!

code: [select]
void loop(){
[...omissis...]
for(i=0; i<5; i++){
 // accendo il led alla posizione i
 digitalwrite(i,high);
 // attendo 4 sec
 delay(4000);
// lancio la funzione che mi spegne tutti led
spegniled();
}
[...omissis...]
}


in questo caso mi si accende e poi spegne solo il primo led e ciccia.
sappiate che il codice è stato fortemente semplificato, ho provveduto debuggare il tutto mediante seriale e mi sono accorto di questo strano comportamento. nella documentazione ufficiale mi pare di aver letto che alla fine dell'esecuzione della function riprende il normale flusso del programma. boh.
qualcuno ha qualche info riguardo?
ho anche provato inserire return; nella funzione, ma nisba.
grazie!!!

non potendo vedere il resto... posso solo fare ipotesi.
nella funzione non dichiari la variabile i, perciò ti basi su una dichiarata globalmente.
prova mettere una dichiarazione int i; prima del nella funzione.


Arduino Forum > International > Italiano > Software (Moderator: leo72) > [RISOLTO] Problema con funzione


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support