PaoloP:
PaoloP:
EDIT: Leo, che differenze ci sono tra la tua libreria e questa? -->Arduino Playground - TimedAction LibraryMi rispondo da solo.
La TimedAction usa la funzione millis per stabilire l'intervallo di tempo e quindi eseguire il task.
La TimedAction viene bloccata in caso di delay.La libreria di Leo invece usa un timer interno per richiamare la funzione puntata e quindi non è soggetta al resto del codice. Non si blocca quindi neanche durante un delay.
Esatto. Come puoi vedere dall'esempio allegato, i 2 led pilotati dai 2 task continuano il loro lampeggio nonostante nel loop principale ci sia un delay per governare il lampeggio del 3° led.
Questo perché ho creato un contatore di ms interno al timer 2 ed uso quello per controllare il trascorrere del tempo.
Una domanda: il timer2 potrebbe andare in conflitto con altre periferiche interne al micro, tipo I2C, SPI o Seriale?
Io ho provato la stampa su seriale dopo aver aggiunto i 2 task ed ha funzionato. Però tutto quello che viene gestito da interrupt può influenzare il leOS, così come tutto quello che è gestito da interrupt si influenza attualmente. Pensa che la gestione dell'I2C è fatta via interrupt così come la seriale, eppure nessuno lo nota né si lamenta