class RTC – relógio de tempo real

O RTC é um relógio independente que mantém o controle da data e da hora.

Exemplo de uso:

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

Construtores

class pyb.RTC

Cria um 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

Obtém ou define a data e a hora do RTC.

Sem argumentos, este método retorna uma 8-tupla com a data e a hora atuais. Com 1 argumento (sendo uma 8-tupla) ele define a data e a hora (e subseconds é reiniciado para 255).

A 8-tupla tem o seguinte formato:

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

weekday vai de 1 a 7 para segunda a domingo.

subseconds faz a contagem regressiva de 255 a 0.

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

Define o timer de despertar do RTC para disparar repetidamente a cada timeout milissegundos. Este disparo pode despertar a placa de ambos os estados de suspensão: pyb.stop() e pyb.standby().

Se timeout for None, então o timer de despertar é desabilitado.

Se callback for fornecido, então ele é executado a cada disparo do timer de despertar. callback deve receber exatamente um argumento – a instância de RTC que disparou o despertar.

info() int

Obtém informações sobre o tempo de inicialização e a origem do reset. O inteiro de 32 bits retornado é um valor com bits empacotados:

Bits

Significado

0x0000FFFF

Número de milissegundos que o RTC levou para inicializar.

0x00010000

Definido se ocorreu um reset por ligamento (power-on reset).

0x00020000

Definido se ocorreu um reset externo.

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

Obtém ou define o valor de calibração suave (smooth-calibration) do RTC.

Sem argumentos, calibration() retorna o valor de calibração atual, um inteiro no intervalo [-511, 512]. Com um argumento, define a calibração.

O mecanismo de calibração suave ajusta a taxa de clock do RTC adicionando ou subtraindo o número de ticks fornecido do clock de 32768 Hz ao longo de um período de 32 segundos (2^20 ticks de clock). Cada tick positivo acelera o clock em 1 parte em 2^20 (≈0,954 ppm); valores negativos desaceleram o clock na mesma proporção por tick. O intervalo de calibração utilizável é, portanto, de aproximadamente -487.5 ppm a +488.5 ppm.