клас RTC – годинник реального часу

RTC – це незалежний годинник, який відстежує дату та час.

Приклад використання:

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

Конструктори

class pyb.RTC

Створити об’єкт RTC.

Методи

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

Отримати або встановити дату та час RTC.

Без аргументів цей метод повертає 8-елементний кортеж із поточними датою та часом. З одним аргументом (8-елементним кортежем) він встановлює дату та час (при цьому subseconds скидається до 255).

8-елементний кортеж має такий формат:

(year, month, day, weekday, hours, minutes, seconds, subseconds)

weekday – від 1 до 7 для понеділка до неділі.

subseconds відраховує від 255 до 0.

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

Встановити таймер пробудження RTC для багаторазового спрацювання кожні timeout мілісекунд. Це спрацювання може вивести плату з обох станів сну: pyb.stop() та pyb.standby().

Якщо timeout дорівнює None, таймер пробудження вимикається.

Якщо вказано callback, він виконується при кожному спрацюванні таймера пробудження. callback повинен приймати рівно один аргумент – екземпляр RTC, що ініціював пробудження.

info() int

Отримати інформацію про час запуску та джерело скидання. Повернуте 32-бітне ціле число є значенням із запакованими бітами:

Біти

Значення

0x0000FFFF

Кількість мілісекунд, яку RTC витратив на запуск.

0x00010000

Встановлено, якщо відбулося скидання при подачі живлення.

0x00020000

Встановлено, якщо відбулося зовнішнє скидання.

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

Отримати або встановити значення плавного калібрування RTC.

Без аргументів calibration() повертає поточне значення калібрування – ціле число в діапазоні [-511, 512]. З одним аргументом встановлює калібрування.

Механізм плавного калібрування коригує частоту годинника RTC, додаючи або віднімаючи задану кількість тактів від генератора 32768 Гц протягом 32-секундного періоду (2^20 тактів). Кожен позитивний такт прискорює годинник на 1 частину від 2^20 (≈0.954 ppm); від’ємні значення уповільнюють годинник на таку ж величину за такт. Отже, корисний діапазон калібрування становить приблизно від -487.5 ppm до +488.5 ppm.