klasa RTC – zegar czasu rzeczywistego¶
RTC to niezależny zegar, który śledzi datę i czas.
Przykład użycia:
rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())
Konstruktory¶
- class pyb.RTC¶
Tworzy obiekt RTC.
Metody¶
- datetime(datetimetuple: Tuple[int, int, int, int, int, int, int, int] | None = None) Tuple[int, int, int, int, int, int, int, int] | None¶
Pobiera lub ustawia datę i czas RTC.
Bez argumentów metoda ta zwraca 8-elementową krotkę z bieżącą datą i czasem. Z 1 argumentem (będącym 8-elementową krotką) ustawia datę i czas (a
subsecondsjest resetowane do 255).8-elementowa krotka ma następujący format:
(year, month, day, weekday, hours, minutes, seconds, subseconds)
weekdayprzyjmuje wartości 1-7 dla poniedziałku do niedzieli.subsecondsodlicza w dół od 255 do 0.
- wakeup(timeout: int | None, callback: Callable[[RTC], None] | None = None) None¶
Ustawia licznik czasu wybudzania RTC, aby wyzwalał się cyklicznie co
timeoutmilisekund. To wyzwolenie może wybudzić płytkę z obu stanów uśpienia:pyb.stop()ipyb.standby().Jeśli
timeoutma wartośćNone, licznik czasu wybudzania jest wyłączony.Jeśli podano
callback, jest ono wykonywane przy każdym wyzwoleniu licznika czasu wybudzania.callbackmusi przyjmować dokładnie jeden argument – instancjęRTC, która wyzwoliła wybudzenie.
- info() int¶
Pobiera informacje o czasie rozruchu i źródle resetu. Zwrócona 32-bitowa liczba całkowita jest wartością upakowaną bitowo:
Bity
Znaczenie
0x0000FFFFLiczba milisekund, jaką RTC potrzebował na uruchomienie.
0x00010000Ustawione, jeśli wystąpił reset po włączeniu zasilania.
0x00020000Ustawione, jeśli wystąpił reset zewnętrzny.
- calibration(cal: int | None = None) int | None¶
Pobiera lub ustawia wartość gładkiej kalibracji RTC.
Bez argumentów
calibration()zwraca bieżącą wartość kalibracji, liczbę całkowitą z zakresu[-511, 512]. Z jednym argumentem ustawia kalibrację.Mechanizm gładkiej kalibracji dostosowuje częstotliwość zegara RTC, dodając lub odejmując podaną liczbę taktów z zegara 32768 Hz w okresie 32 sekund (2^20 taktów zegara). Każdy dodatni takt przyspiesza zegar o 1 część na 2^20 (≈0,954 ppm); wartości ujemne spowalniają zegar o tę samą wartość na takt. Użyteczny zakres kalibracji wynosi zatem w przybliżeniu od
-487.5 ppmdo+488.5 ppm.