Claudio_FF:
Se fosse così il codice sottoriportato, che genera 12500Hz usando micros, dovrebbe sbagliare almeno del 5% (un paio di µs medi accumulati ogni semiperiodo), cioe` di circa 600Hz.
Stai facendo confusione tra errore indotto dal jitter sulla frequenza, dove è normale che sia quasi nullo sul valore medio, e sugli effetti a lungo termine su una temporizzazione.
Su una temporizzazione a lungo termine hai un errore incrementale perché ogni tot cicli hai un periodo leggermente maggiore di quello atteso, p.e. 135.020 ms invece di 135.000 ms come atteso, e questo porta inevitabilmente ad un errore cumulativo sulla durata reale del tempo trascorso che sarà maggiore di quello, teorico, atteso.
Questo è quanto si vede con un DSO usando il tuo codice di esempio, il jitter è ben visibile ed è più che rilevante rispetto al periodo del segnale.
