Echtzeituhr RTC
Artikelverzeichnis
1. RTC-Einführung
RTC ist eine Einheit zur Zeitmessung und verfügt nach dem Einstellen der Zeit über eine Zeitmessfunktion:
- Kann zur Zeitmessung einen externen Hochfrequenz-Quarzoszillator verwenden
- Konfigurierbare externe Quarzoszillatorfrequenz und Frequenzteilung
- Unterstützt die Konfiguration des ewigen Kalenders. Zu den konfigurierbaren Elementen gehören Jahrhundert, Jahr, Monat, Tag, Stunde, Minute, Sekunde und Woche
- Es kann in Sekunden gemessen werden und die aktuelle Uhrzeit abfragen
- Unterstützt die Einstellung einer Gruppe von Weckern. Zu den konfigurierbaren Elementen gehören Jahr, Monat, Tag, Stunde, Minute, Sekunde und eine Triggerunterbrechung, wenn der Wecker eintrifft
- Interrupts sind konfigurierbar und unterstützen tägliche, stündliche, minutenlange und zweite Trigger-Interrupts
- Kann den Zählwert des Zählers in weniger als 1 Sekunde ablesen, die minimale Skaleneinheit ist ein einzelner Zyklus des externen Quarzoszillators
- Daten werden nach dem Einschalten/Reset gelöscht
Hinweis: Das RTC-Modul wird nur verwendet, wenn PLL0 aktiviert ist und die CPU-Frequenz größer als 30 MHz ist
2. RTC-Treiber-API
Die RTC-bezogenen Funktionen rtc.h
sind in der Header-Datei definiert und stellen die folgende Benutzeroberfläche bereit:
- int rtc_init(void) : RTC initialisieren. Rückgabewert: 0 für Erfolg; ungleich Null für Fehler.
- int rtc_timer_set(int