class RTC – Echtzeituhr¶
Die RTC ist eine unabhängige Uhr, die Datum und Uhrzeit verfolgt.
Anwendungsbeispiel:
rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())
Konstruktoren¶
- class pyb.RTC¶
Erzeugt ein RTC-Objekt.
Methoden¶
- datetime(datetimetuple: Tuple[int, int, int, int, int, int, int, int] | None = None) Tuple[int, int, int, int, int, int, int, int] | None¶
Liest oder setzt Datum und Uhrzeit der RTC.
Ohne Argumente gibt diese Methode ein 8-Tupel mit dem aktuellen Datum und der aktuellen Uhrzeit zurück. Mit 1 Argument (einem 8-Tupel) setzt sie Datum und Uhrzeit (und
subsecondswird auf 255 zurückgesetzt).Das 8-Tupel hat das folgende Format:
(Jahr, Monat, Tag, Wochentag, Stunden, Minuten, Sekunden, Subsekunden)
weekdayist 1-7 für Montag bis Sonntag.subsecondszählt von 255 auf 0 herunter.
- wakeup(timeout: int | None, callback: Callable[[RTC], None] | None = None) None¶
Stellt den RTC-Aufwecktimer so ein, dass er wiederholt alle
timeoutMillisekunden ausgelöst wird. Dieser Auslöser kann das Board aus beiden Schlafzuständen aufwecken:pyb.stop()undpyb.standby().Wenn
timeoutNoneist, wird der Aufwecktimer deaktiviert.Wenn
callbackangegeben ist, wird es bei jedem Auslösen des Aufwecktimers ausgeführt.callbackmuss genau ein Argument annehmen – dieRTC-Instanz, die das Aufwecken ausgelöst hat.
- info() int¶
Liefert Informationen über die Startzeit und die Reset-Quelle. Die zurückgegebene 32-Bit-Ganzzahl ist ein bitweise gepackter Wert:
Bits
Bedeutung
0x0000FFFFAnzahl der Millisekunden, die die RTC zum Starten benötigt hat.
0x00010000Gesetzt, wenn ein Power-on-Reset aufgetreten ist.
0x00020000Gesetzt, wenn ein externer Reset aufgetreten ist.
- calibration(cal: int | None = None) int | None¶
Liest oder setzt den Smooth-Calibration-Wert der RTC.
Ohne Argumente gibt
calibration()den aktuellen Kalibrierungswert zurück, eine Ganzzahl im Bereich[-511, 512]. Mit einem Argument wird die Kalibrierung gesetzt.Der Smooth-Calibration-Mechanismus passt die Taktrate der RTC an, indem er über einen Zeitraum von 32 Sekunden (2^20 Takte) die angegebene Anzahl von Ticks zum 32768-Hz-Takt addiert oder von ihm subtrahiert. Jeder positive Tick beschleunigt die Uhr um 1 Teil in 2^20 (≈0,954 ppm); negative Werte verlangsamen die Uhr pro Tick um denselben Betrag. Der nutzbare Kalibrierungsbereich liegt daher ungefähr zwischen
-487.5 ppmund+488.5 ppm.