leo72:
Ma tu intercetti l'overflow del timer 1....ISR(TIMER1_OVF_vect){
secondsBecauseOverflow += SECONDS_PER_TIMER0_OVERFLOW;
}
sì, ho sbagliato, ci va un 0 non un uno. ![]()
leo72:
Inoltre ho notato anch'io la variabile timer0_overflow_count, ma non è come dici. Se noti è contenuta nella routine di intercettazione dell'overflow del timer 0 e che viene aggiornato con la stessa frequenza con cui viene aggiornato il contatore dei millisecondi. Quella variabile la riusano per estrarre il numero di microsecondi.
sì, vengono aggiornate insieme, però timer0_millis viene incrementato di "MILLIS_INC" (che è l'equivalente della mia SECONDS_PER_TIMER0_OVERFLOW), mentre timer0_overflow_count viene incrementata di 1.
Noto con piacere che però loro anno salvato anche la parte decimale in timer0_fract.. questo è un punto a cui non avevo pensato, e bisogna farlo. ion pratica bisogna diplicare il codice della millis()