class RTC – reloj de tiempo real

El RTC es un reloj independiente que lleva el seguimiento de la fecha y la hora.

Ejemplo de uso:

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

Constructores

class pyb.RTC

Crea un objeto RTC.

Métodos

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

Obtiene o establece la fecha y la hora del RTC.

Sin argumentos, este método devuelve una tupla de 8 elementos con la fecha y la hora actuales. Con 1 argumento (que es una tupla de 8 elementos) establece la fecha y la hora (y subseconds se restablece a 255).

La tupla de 8 elementos tiene el siguiente formato:

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

weekday es 1-7 para lunes a domingo.

subseconds cuenta de forma descendente de 255 a 0.

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

Configura el temporizador de despertador del RTC para que se active repetidamente cada timeout milisegundos. Este disparador puede despertar la placa de ambos estados de reposo: pyb.stop() y pyb.standby().

Si timeout es None, el temporizador de despertador se deshabilita.

Si se proporciona callback, este se ejecuta en cada disparo del temporizador de despertador. callback debe tomar exactamente un argumento: la instancia de RTC que disparó el despertador.

info() int

Obtiene información sobre el tiempo de arranque y la fuente de reinicio. El entero de 32 bits devuelto es un valor empaquetado en bits:

Bits

Significado

0x0000FFFF

Número de milisegundos que tardó el RTC en arrancar.

0x00010000

Establecido si se produjo un reinicio por encendido (power-on reset).

0x00020000

Establecido si se produjo un reinicio externo.

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

Obtiene o establece el valor de calibración suave (smooth-calibration) del RTC.

Sin argumentos, calibration() devuelve el valor de calibración actual, un entero en el rango [-511, 512]. Con un argumento, establece la calibración.

El mecanismo de calibración suave ajusta la tasa del reloj del RTC añadiendo o restando el número dado de ticks del reloj de 32768 Hz durante un periodo de 32 segundos (2^20 ticks de reloj). Cada tick positivo acelera el reloj en 1 parte por 2^20 (≈0,954 ppm); los valores negativos ralentizan el reloj en la misma cantidad por tick. Por tanto, el rango de calibración utilizable es aproximadamente de -487.5 ppm a +488.5 ppm.