class RTC – reaaliaikakello¶
RTC -luokka ohjaa MCU:n sirulla olevaa reaaliaikakello-oheislaitetta, joka pitää yllä seinäkelloaikaa nollausten yli.
STM32-pohjaisissa OpenMV Cam -kameroissa machine.RTC ja pyb.RTC viittaavat samaan taustalla olevaan olioon.
Esimerkkikäyttö:
import machine
rtc = machine.RTC()
rtc.datetime((2026, 1, 21, 2, 10, 32, 36, 0))
print(rtc.datetime())
Muodostimet¶
- class machine.RTC(id: int = 0)¶
Palauta
RTC-singleton.idhyväksytään porttien välisen yhteensopivuuden vuoksi, mutta vain0on kelvollinen OpenMV:n tukemissa porteissa (kullakin kameralla on yksi RTC).Alla olevat metodit on ryhmitelty sen mukaan, mitkä OpenMV-portit tarjoavat ne.
Kaikissa OpenMV-porteissa saatavilla olevat metodit¶
- datetime(datetimetuple: tuple | None = None, /) tuple | None¶
Hae tai aseta nykyinen päivämäärä ja kellonaika.
Ilman argumenttia palauttaa nykyisen arvon 8-monikkona
(year, month, day, weekday, hour, minute, second, subseconds).Yhdellä 8-monikkoargumentilla asettaa RTC:n kyseiseen arvoon.
weekdayon 1 = maanantai - 7 = sunnuntai STM32:lla ja 0 = maanantai - 6 = sunnuntai mimxrt:llä.subsecondson sekunnin murto-osa yksikkönä 1/256 sekuntia STM32:lla; mimxrt:llä ja alifilla se on aina0.
vain STM32 + mimxrt¶
- init(datetime: tuple) None¶
Alusta RTC.
mimxrt-portissa (OpenMV Cam RT1062)
datetimeon pakollinen ja käyttää 8-monikkoa(year, month, day, weekday, hour, minute, second, subseconds).STM32-pohjaisissa OpenMV-kameroissa
init()ei ota argumenttia: se (uudelleen)käynnistää RTC-oheislaitteen jättäen nykyisen päivämäärän / kellonajan koskemattomaksi.
- calibration(value: int | None = None, /) int | None¶
Hae tai aseta RTC:n kalibrointipoikkeama (käytetään kompensoimaan kiteen taajuusvirhettä).
value-arvon sallittu alue ja yksiköt ovat laitteistokohtaisia – arvo kirjoitetaan suoraan MCU:n RTC-trimmausrekisteriin. Katso tarkka koodaus asianomaisesta STM32 / i.MX RT -referenssikäsikirjasta.
vain STM32¶
- info() int¶
Palauta pakattu RTC:n käynnistystila 32-bittisenä kokonaislukuna.
Alimmat 16 bittiä ilmoittavat millisekuntien määrän, jonka RTC:n käynnistyminen kesti viimeisimmässä käynnistyksessä. Bitti 0x10000 on asetettu, kun LSE (low-speed external) -oskillaattori epäonnistui ja RTC siirtyi takaisin LSI:hin (sisäinen RC). Bitti 0x20000 on asetettu, kun RTC alustettiin uudelleen käynnistyksessä (eikä jatkanut edellisestä virrankytkennästä).
- wakeup(timeout_ms: int | None, callback: Callable[[RTC], None] | None = None, /) None¶
Ajoita jaksottainen herätyskeskeytys.
timeout_mson jakso millisekunteina. RTC laukeaa jokatimeout_msja voi herättää MCU:n tiloistamachine.lightsleep()/machine.deepsleep(). AnnaNonepoistaaksesi herätysajastimen käytöstä.callbackkutsutaan herätyskeskeytyksestä; annaNone, jos et halua asentaa takaisinkutsua (herätys laukeaa silti ja herättää MCU:n).
vain mimxrt + alif¶
- alarm(id: int, time: int | tuple, *, repeat: bool = False) None¶
Viritä RTC-hälytys.
idvalitsee hälytyskanavan (käytäALARM0).timeon joko kokonaisluku tulevista millisekunneista tai datetime-monikko. Annarepeat=Truevirittääksesi hälytyksen automaattisesti uudelleen jokaisen laukeamisen jälkeen (kelvollinen vain, kuntimeon millisekuntimäärä).Alifilla tuetaan vain millisekuntimäärämuotoa.
vain mimxrt¶
- alarm_left(alarm_id: int = 0, /) int¶
Palauta millisekuntien määrä, joka on jäljellä ennen kuin
alarm_id-tunnisteella yksilöity hälytys laukeaa.
- cancel(alarm_id: int = 0, /) None¶
Vanhentunut alias metodille
alarm_cancel(), säilytetty taaksepäin yhteensopivuuden vuoksi. Aikataulutettu poistettavaksi MicroPython 2.0:ssa.
- irq(*, trigger: int = ALARM0, handler: Callable[[RTC], None] | None = None, wake: int = 0, hard: bool = False) None¶
Rekisteröi takaisinkutsu RTC-hälytykselle.
triggeron oltavaALARM0– ainoa tuettu keskeytyslähde.handlerkutsutaanRTC-instanssin kanssa, kun hälytys laukeaa.hard=Truerekisteröi laitteistokeskeytyskäsittelijän (ei keko-varausta takaisinkutsussa).wakehyväksytään porttien välisen yhteensopivuuden vuoksi, mutta sillä ei ole vaikutusta.
Vakiot¶
- ALARM0: int¶
RTC:n yksittäisen hälytyskanavan tunniste. Anna metodeille
alarm(),alarm_left(),alarm_cancel()jairq()-metodintrigger-argumentille. Vain mimxrt-portti.