Premesso che questo topic è in qualke modo collegato al topic "millis()....maledetto millis()" l'obbiettivo è semplice far accendere 4 led prima in una direzione,poi nell'altra,poi bloccare un led acceso,,,,,,il tutto senza usare stringhe dormienti tipo "delay,while o do while,for".
Ora seguiti e rimaneggiati i consigli precedenti questo è lo sketch che ovviamente compila.
Scusa ma questa operazione cosa ti aspetti che faccia ?
pinMode(led[stato], OUTPUT);
Se pensi che metta in OUTPUT tutti i pin dichiarati nell'array ti sbagli, stai lavorando su 1 elemento dell'array, ovvero lo 0 visto che stato=0. Per lavorare su tutti gli elementi di un array DEVI usare dei cicli:
Allora preparati a dover indicare ogni singolo elemento dell'array. Devi settare a output tutti i pin presenti in led, e i nodi sono O usando un for O settandoli tutti separatamente
Finiscila di mettere in ogni Tuo topic la parola "maledetto". Se lo associ a qualsiasi piccolo problema che incontri é meglio che ripensi alla Tua personale visione della vita e dal mondo cercando di pensare positivo.
Ciao Uwe
Guglielmo
finche non capisco non è insensata,è semplicemente dal quel poco che ho capito una stringa dormiente.
Vorrei evitarla al momento e trovare un'altra strada.
Puso:
finche non capisco non è insensata,è semplicemente dal quel poco che ho capito una stringa dormiente.
Ecco ... NON hai capito niente allora ...
... come ti ho già detto, piantala di andare avanti a "tentoni" cercando di scrivere pezzi di programma senza senso ed aspettando che gli altri te li mettano apposto, dato che, ed ora è ampiamente dimostrato, da tali esempi tu NON impari NULLA.
Prenditi un buon libro e STUDIA e contemporaneamente iscriviti ad un corso di programmazione in 'C' ... perché tanto con questio esempietti e prove NON arrivi da nessuna parte.
Veramente il for non e' una stringa ... e' una funzione ... un po come quelle che potresti crearti tu, dove gli passi un certo numero di parametri (in questo caso gli passi la variabile su cui operare, la quantita' di volte da operare e l'operazione da fare), e lui le esegue come glie le passi, eseguendo per lo stesso numero di volte quello che metti fra le graffe ...
Se proprio ti sta antipatico il for (magari perche' ti ha fregato il posto al bar ? ... :D), puoi anche sostituirlo con un banale if o un paio di if nidificati, se proprio vuoi ... o anche un while ...
cosa intendi per non imparo nulla???
ho imparato un sacco di cose invece grazie ad esempi.......e nessuno mi ha mai messo a posto niente.
Lo ripeto..non sono il tipo"COPIA INCOLLA" ......devo solo capire.
perchè se lo uso"il FOR"...è come usare un delay....finche non cambia si ferma tutto il resto......sto tentando di passare coi bit consigliati da Doc...ma al momento sono arenato.
.... e, ripeto un'ultima volta, finché NON studierai arenato rimarrai sempre. Gli esempietti vanno bene sino a quando fai lampeggiare un LED, se vuoi fare qualche cosa di più serio ... occorre molto tempo, impegno e studio.
Lo STATEMENT "for" (NON è una funzione è una struttura di controllo) NON blocca un bel nulla ... basta saperlo usare !
Guglielmo
P.S.: ... per inciso, il loop(), gira sempre, grazie ad una "for" che NON vedi, ma c'è