MicroPython:Библиотеки/pyb/Класс RTC: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 19: | Строка 19: | ||
* [[MicroPython:Библиотеки/pyb/Класс RTC/pyb.RTC()|pyb.RTC()]] | * [[MicroPython:Библиотеки/pyb/Класс RTC/pyb.RTC()|pyb.RTC()]] | ||
==Методы== | |||
= | * [[MicroPython:Библиотеки/pyb/Класс RTC/RTC.datetime()|RTC.datetime([datetimetuple])]] | ||
* [[MicroPython:Библиотеки/pyb/Класс RTC/RTC.wakeup()|RTC.wakeup(timeout, callback=None)]] | |||
* [[MicroPython:Библиотеки/pyb/Класс RTC/RTC.info()|RTC.info()]] | |||
* [[MicroPython:Библиотеки/pyb/Класс RTC/RTC.calibration()|RTC.calibration(cal)]] | |||
• RTC.datetime([datetimetuple]) – задает или считывает дату и время RTC-часов. | • RTC.datetime([datetimetuple]) – задает или считывает дату и время RTC-часов. |
Версия от 12:05, 11 октября 2020
Класс RTC – часы реального времени[1]
RTC-часы (от англ. «real time clock», т.е. «часы реального времени») – это автономные часы, отслеживающие дату и время.
Пример использования:
rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())
Конструкторы
Методы
• RTC.datetime([datetimetuple]) – задает или считывает дату и время RTC-часов. Если не задавать в этом методе никаких аргументов, он вернет 8-элементный кортеж с текущими датой и временем. Если задать в нем один аргумент (тоже 8-элементный кортеж), он задаст дату и время (а элемент subseconds будет сброшен до «255»). У этого 8-элементного кортежа следующий формат: (year, month, day, weekday, hours, minutes, seconds, subseconds) В элементе weekday – значения с «1» до «7» (понедельник-суббота). В элементе subseconds ведется отсчет с «255» до «0». • RTC.wakeup(timeout, callback=None) – настраивает пробуждающий RTC-таймер, который будет срабатывать каждые timeout миллисекунд. Эта срабатывание будет пробуждать PyBoard из обоих режимов сна: pyb.stop() и pyb.standby(). Если в timeout задать None, то пробуждающий таймер будет отключен. В аргументе callback задается функция обратного вызова, которая будет запускаться при каждом срабатывании таймера. У этой функции должен быть только один аргумент. • RTC.info() – считывает информацию о времени запуска и источнике сброса. o Значение ниже «0xffff» – это количество миллисекунд, в течение которых выполняется запуск RTC-часов. o Если в бите «0x10000» задана единица, то это значит, что причина сброса – это включение платы. o Если в бите «0x20000» задана единица, то это значит, что произошел внешний сброс платы. • RTC.calibration(cal) – задает или считывает RTC-калибровочное значение. Без аргументов этот метод вернет текущее калибровочное значение (целое число в диапазоне между «-511» и «512»). Если задать в нем аргумент cal, он задаст калибровочное значение. Механизм плавной RTC-калибровки (RTC Smooth Calibration) настраивает тактовую частоту RTC-часов, добавляя или убавляя заданное количество тактов из частоты 32768 Гц в течение 32-секундного периода (это соответствует 220 тактам). Положительные значения увеличивают частоту, а отрицательные – уменьшают. Одна единица – это 0.954 ppm. Таким образом, диапазон калибровочных значений варьируется от (-511 * 0.954) ~= -487.5 ppm до (512 * 0.954) ~= 488.5 ppm.
<syntaxhighlight lang="python" enclose="div">