MicroPython:Библиотеки/machine/Класс Timer

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Класс Timer – управление аппаратными таймерами[1]

Аппаратные таймеры предназначены для работы с периодами и событиями. Таймеры – это, возможно, самые гибкие и разнообразные компоненты микроконтроллеров и SoC-систем; они очень сильно варьируются от одной модели к другой. В классе Timer в MicroPython задана базовая операция выполнения функции обратного вызова с заданной периодичностью (или единожды после некоторой задержки), но на некоторых платах с его помощью можно задать и более нестандартное поведение (и тогда код невозможно будет портировать на другие платы).

О важных ограничениях при использовании функций обратного вызова в классе Timer читайте тут.

Примечание: Внутри обработчиков запросов на прерывание (прерываний) память выделять нельзя, и поэтому исключения, возбуждаемые обработчиком, дают мало полезной информации. О том, как обойти это ограничение, читайте тут.

Если вы используете плату WiPy, то вместо этого класса вам понадобится machine.TimerWiPy.

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

  • Класс machine.Timer(id, ...) – конструирует новый объект Timer с заданным идентификатором id. Если задать в id значение «-1», это сконструирует виртуальный таймер (если это поддерживается платой).

Методы

  • Timer.init(*, mode=Timer.PERIODIC, period=- 1, callback=None) – инициализирует таймер. Пример:

tim.init(period=100) # периодичность в

                                            # 100 миллисекунд 

tim.init(mode=Timer.ONE_SHOT, period=1000) # один запуск через

                                            # 100 миллисекунд

Именованные аргументы: o В аргументе mode может быть одно из следующих значений:  Timer.ONE_SHOT – таймер сработает один раз после истечения времени, заданного в аргументе period.  Timer.PERIODIC – таймер будет срабатывать с заданной периодичностью.

  • Timer.deinit() – деинициализирует таймер. То есть останавливает таймер и выключает таймерный компонент.

Константы

  • Timer.ONE_SHOT и Timer.PERIODIC – режимы работы таймера.

<syntaxhighlight lang="python" enclose="div">

См.также

Внешние ссылки