class RTC – orologio in tempo reale

L’RTC è un orologio indipendente che tiene traccia della data e dell’ora.

Esempio di utilizzo:

rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())

Costruttori

class pyb.RTC

Crea un oggetto RTC.

Metodi

datetime(datetimetuple: Tuple[int, int, int, int, int, int, int, int] | None = None) Tuple[int, int, int, int, int, int, int, int] | None

Ottiene o imposta la data e l’ora dell’RTC.

Senza argomenti, questo metodo restituisce una tupla di 8 elementi con la data e l’ora correnti. Con 1 argomento (una tupla di 8 elementi) imposta la data e l’ora (e subseconds viene reimpostato a 255).

La tupla di 8 elementi ha il seguente formato:

(year, month, day, weekday, hours, minutes, seconds, subseconds)

weekday è 1-7 da lunedì a domenica.

subseconds conta alla rovescia da 255 a 0.

wakeup(timeout: int | None, callback: Callable[[RTC], None] | None = None) None

Imposta il timer di wakeup dell’RTC affinché si attivi ripetutamente ogni timeout millisecondi. Questo trigger può risvegliare la scheda da entrambi gli stati di sospensione: pyb.stop() e pyb.standby().

Se timeout è None allora il timer di wakeup è disabilitato.

Se callback è indicato allora viene eseguito a ogni attivazione del timer di wakeup. callback deve accettare esattamente un argomento – l’istanza RTC che ha generato il wakeup.

info() int

Ottiene informazioni sul tempo di avvio e sulla sorgente di reset. L’intero a 32 bit restituito è un valore con bit impacchettati:

Bit

Significato

0x0000FFFF

Numero di millisecondi impiegati dall’RTC per avviarsi.

0x00010000

Impostato se si è verificato un reset all’accensione (power-on reset).

0x00020000

Impostato se si è verificato un reset esterno.

calibration(cal: int | None = None) int | None

Ottiene o imposta il valore di calibrazione fine (smooth-calibration) dell’RTC.

Senza argomenti, calibration() restituisce il valore di calibrazione corrente, un intero nell’intervallo [-511, 512]. Con un argomento imposta la calibrazione.

Il meccanismo di calibrazione fine regola la frequenza dell’orologio RTC aggiungendo o sottraendo il numero di tick indicato dal clock a 32768 Hz su un periodo di 32 secondi (2^20 tick di clock). Ogni tick positivo accelera l’orologio di 1 parte su 2^20 (≈0,954 ppm); i valori negativi rallentano l’orologio della stessa quantità per tick. L’intervallo di calibrazione utilizzabile è quindi approssimativamente da -487.5 ppm a +488.5 ppm.