Suppongo che l'RTC sia un chip separato con il suo cristallo o un modulo integrato con il tuo microcontrollore che ha di nuovo una sorgente di tempo separata (come un cristallo da 32 kHz) rispetto al clock principale. E l'origine temporale per RTC è più accurata di quella per il microcontrollore.
Per determinare la frequenza con cui è necessario leggere l'RTC, è necessario capire quale errore massimo può avere l'orologio principale. Ad esempio, se il cristallo principale è specificato a 20 ppm, è uguale allo 0,002%. Quindi un orologio basato solo sulla sorgente dell'orologio principale potrebbe spostarsi di 0,00002 * 3600 * 24 = 1,728 secondi al giorno.
Quindi, se leggi l'RTC solo due volte al giorno e tra un intervallo di tempo incrementato una volta al secondo e un interruzione del timer, non ti spegneresti mai più di un secondo, mai più di un secondo rispetto all'RTC che è.
Se, come ho ipotizzato in precedenza, il tuo RTC è un chip separato con il suo cristallo o un modulo integrato con il tuo microcontrollore, ciò non significa che sia corretto. Anche un RTC può avere un errore. Ad esempio, se utilizza un cristallo a 32 kHz con una tolleranza di 5 ppm (che sono leggermente più costosi di quelli a 10 ppm), potrebbe essere spento di 0,43 secondi al giorno - o 13 secondi al mese.
Per ovviare a questo, è necessario ottimizzare RTC, in cui si riscrive un fattore di correzione in un registro. Ciò ti consentirà di riportare l'errore praticamente a zero. Ma, naturalmente, si dovrà avere un terzo esterno sorgente di clock da utilizzare come riferimento quando si fa la messa a punto. Un riferimento estremamente accurato negli Stati Uniti è la linea CA a 60 Hz, che è garantita per essere esattamente 60 * 60 * 60 * 24 (5.184.000) cicli in un periodo di 24 ore tra mezzanotte successive. Affinché ciò sia utile, è necessario tempo per le 24 ore intere, poiché i 60 Hz possono spostarsi tra una mezzanotte e l'altra.
Un altro eccellente riferimento temporale sarebbe l'utilizzo del GPS (precisione di 10 ns), se uno aveva già hardware GPS nel suo progetto.
Se invece i tuoi orari RTC provengono da una fonte esterna, come l'ora della rete cellulare (AT + CCLK? Chiamata) o un server orario di rete che utilizza NTP, puoi utilizzare il valore RTC così com'è poiché non ci sarà nulla da "sintonizzare" .