class RTC – reaaliaikakello

RTC on itsenäinen kello, joka pitää kirjaa päivämäärästä ja kellonajasta.

Esimerkki käytöstä:

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

Konstruktorit

class pyb.RTC

Luo RTC-objekti.

Metodit

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

Hae tai aseta RTC:n päivämäärä ja kellonaika.

Ilman argumentteja tämä metodi palauttaa 8-monikon, joka sisältää nykyisen päivämäärän ja kellonajan. Yhdellä argumentilla (joka on 8-monikko) se asettaa päivämäärän ja kellonajan (ja subseconds nollataan arvoon 255).

8-monikolla on seuraava muoto:

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

weekday on 1-7 maanantaista sunnuntaihin.

subseconds laskee alaspäin arvosta 255 arvoon 0.

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

Aseta RTC:n herätysajastin laukeamaan toistuvasti joka timeout millisekunti. Tämä laukaisu voi herättää kortin molemmista lepotiloista: pyb.stop() ja pyb.standby().

Jos timeout on None, herätysajastin poistetaan käytöstä.

Jos callback annetaan, se suoritetaan herätysajastimen jokaisella laukaisulla. callback-funktiolla on oltava täsmälleen yksi argumentti – herätyksen laukaissut RTC-instanssi.

info() int

Hae tietoa käynnistysajasta ja nollauksen lähteestä. Palautettu 32-bittinen kokonaisluku on bittipakattu arvo:

Bitit

Merkitys

0x0000FFFF

Millisekuntien määrä, joka RTC:llä kesti käynnistyä.

0x00010000

Asetettu, jos virrankytkentänollaus tapahtui.

0x00020000

Asetettu, jos ulkoinen nollaus tapahtui.

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

Hae tai aseta RTC:n hienosäätökalibrointiarvo.

Ilman argumentteja calibration() palauttaa nykyisen kalibrointiarvon, kokonaisluvun välillä [-511, 512]. Yhdellä argumentilla se asettaa kalibroinnin.

Hienosäätökalibrointimekanismi säätää RTC:n kellotaajuutta lisäämällä tai vähentämällä annetun määrän tikkejä 32768 Hz:n kellosta 32 sekunnin jakson aikana (2^20 kellotikkiä). Jokainen positiivinen tikki nopeuttaa kelloa 1 osalla 2^20:sta (≈0,954 ppm); negatiiviset arvot hidastavat kelloa saman verran tikkiä kohden. Käyttökelpoinen kalibrointialue on siis noin -487.5 ppm+488.5 ppm.