třída RTC – hodiny reálného času

RTC jsou nezávislé hodiny, které sledují datum a čas.

Příklad použití:

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

Konstruktory

class pyb.RTC

Vytvoří objekt RTC.

Metody

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

Získá nebo nastaví datum a čas RTC.

Bez argumentů tato metoda vrátí 8-tici s aktuálním datem a časem. S 1 argumentem (kterým je 8-tice) nastaví datum a čas (a subseconds se resetuje na 255).

8-tice má následující formát:

(rok, měsíc, den, den v týdnu, hodiny, minuty, sekundy, podsekundy)

weekday je 1-7 pro pondělí až neděli.

subseconds odpočítává od 255 do 0.

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

Nastaví probouzecí časovač RTC tak, aby se opakovaně spouštěl každých timeout milisekund. Tento spouštěč může probudit desku z obou stavů spánku: pyb.stop() a pyb.standby().

Pokud je timeout None, je probouzecí časovač vypnut.

Pokud je zadán callback, je proveden při každém spuštění probouzecího časovače. callback musí přijímat přesně jeden argument – instanci RTC, která spustila probuzení.

info() int

Získá informace o čase spuštění a zdroji resetu. Vrácené 32bitové celé číslo je bitově zabalená hodnota:

Bity

Význam

0x0000FFFF

Počet milisekund, které RTC potřebovaly ke spuštění.

0x00010000

Nastaveno, pokud došlo k resetu při zapnutí napájení.

0x00020000

Nastaveno, pokud došlo k externímu resetu.

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

Získá nebo nastaví hodnotu plynulé kalibrace RTC.

Bez argumentů vrátí calibration() aktuální kalibrační hodnotu, celé číslo v rozsahu [-511, 512]. S jedním argumentem nastaví kalibraci.

Mechanismus plynulé kalibrace upravuje frekvenci hodin RTC přidáváním nebo odebíráním zadaného počtu tiků z hodin 32768 Hz po dobu 32 sekund (2^20 tiků hodin). Každý kladný tik zrychlí hodiny o 1 díl z 2^20 (≈0,954 ppm); záporné hodnoty hodiny zpomalí o stejnou hodnotu na tik. Použitelný kalibrační rozsah je tedy přibližně -487.5 ppm+488.5 ppm.