class RTC – relógio em tempo real

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

Exemplo de utilização:

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 hora do RTC.

Sem argumentos, este método devolve uma tupla de 8 elementos com a data e hora atuais. Com 1 argumento (sendo uma tupla de 8 elementos) define a data e hora (e subseconds é reposto a 255).

A tupla de 8 elementos tem o seguinte formato:

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

weekday é 1-7 para segunda-feira a domingo.

subseconds conta decrescentemente de 255 a 0.

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

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

Se timeout for None, o temporizador de despertar é desativado.

Se callback for fornecido, é executado em cada disparo do temporizador de despertar. callback deve aceitar exatamente um argumento – a instância RTC que acionou o despertar.

info() int

Obtém informações sobre o tempo de arranque e a fonte de reinicialização. O inteiro de 32 bits devolvido é um valor compactado em bits:

Bits

Significado

0x0000FFFF

Número de milissegundos que o RTC demorou a arrancar.

0x00010000

Definido se ocorreu um reset por ligação.

0x00020000

Definido se ocorreu um reset externo.

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

Obtém ou define o valor de calibração suave do RTC.

Sem argumentos, calibration() devolve 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 do relógio RTC adicionando ou subtraindo o número de ticks indicado ao relógio de 32768 Hz ao longo de um período de 32 segundos (2^20 ticks de relógio). Cada tick positivo acelera o relógio em 1 parte por 2^20 (≈0.954 ppm); valores negativos atrasam o relógio na mesma quantidade por tick. O intervalo de calibração utilizável é, portanto, aproximadamente -487.5 ppm a +488.5 ppm.