класс 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-элементный кортеж с текущей датой и временем. С 1 аргументом (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.