class RTC – realtimeklok

De RTC is een onafhankelijke klok die de datum en tijd bijhoudt.

Voorbeeldgebruik:

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

Constructors

class pyb.RTC

Maak een RTC-object.

Methoden

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

Verkrijg of stel de datum en tijd van de RTC in.

Zonder argumenten retourneert deze methode een 8-tuple met de huidige datum en tijd. Met 1 argument (een 8-tuple) stelt deze de datum en tijd in (en subseconds wordt teruggezet naar 255).

De 8-tuple heeft de volgende indeling:

(jaar, maand, dag, weekdag, uren, minuten, seconden, subseconden)

weekday is 1-7 voor maandag tot en met zondag.

subseconds telt af van 255 naar 0.

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

Stel de RTC-wakeuptimer in om herhaaldelijk te triggeren elke timeout milliseconden. Deze trigger kan het board uit beide slaaptoestanden wekken: pyb.stop() en pyb.standby().

Als timeout None is, wordt de wakeuptimer uitgeschakeld.

Als callback wordt opgegeven, wordt deze uitgevoerd bij elke trigger van de wakeuptimer. callback moet exact één argument aannemen – de RTC-instantie die de wakeup heeft geactiveerd.

info() int

Verkrijg informatie over de opstarttijd en de resetbron. Het geretourneerde 32-bits geheel getal is een bitgepakte waarde:

Bits

Betekenis

0x0000FFFF

Aantal milliseconden dat de RTC nodig had om op te starten.

0x00010000

Ingesteld als er een power-on-reset is opgetreden.

0x00020000

Ingesteld als er een externe reset is opgetreden.

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

Verkrijg of stel de smooth-calibration-waarde van de RTC in.

Zonder argumenten retourneert calibration() de huidige kalibratiewaarde, een geheel getal in het bereik [-511, 512]. Met één argument stelt het de kalibratie in.

Het smooth-calibration-mechanisme past de kloksnelheid van de RTC aan door het opgegeven aantal ticks op te tellen bij of af te trekken van de 32768 Hz-klok over een periode van 32 seconden (2^20 kloktikken). Elke positieve tick versnelt de klok met 1 deel op 2^20 (≈0,954 ppm); negatieve waarden vertragen de klok met dezelfde hoeveelheid per tick. Het bruikbare kalibratiebereik is daarom ongeveer -487.5 ppm tot +488.5 ppm.