nid69ita:
Non potendo vedere il resto... posso solo fare ipotesi.
Nella funzione non dichiari la variabile i, perciò ti basi su una i dichiarata globalmente.
Prova a mettere una dichiarazione int i; prima del for nella funzione.
Mi hai dato una dritta niente male!
Ho risolto, e credo di aver capito cosa è successo:
nella funzione spegniLed() è presente una variabile "di comodo" i utilizzata per il ciclo for
ma anche nella ciclo dal quale stavo chiamando questa funzione è presente una variabile i
pertanto, finito il ciclo for della funzione spegniLed() la mia varibile i=4 e mi faceva uscire dal ciclo for genitore.
Mea culpa! Ho risolto inserendo un nome diverso alla variabile contatore nella funzione spegniLed(), e cioè:
int k=0;
GRAZIE!