MicroPython:Библиотеки/machine/Класс Timer: различия между версиями

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


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


==Методы==
==Методы==
Строка 23: Строка 21:
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.init()|Timer.init()]]
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.init()|Timer.init()]]
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.deinit()|Timer.deinit()]]
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.deinit()|Timer.deinit()]]
* 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() – деинициализирует таймер. То есть останавливает таймер и выключает таймерный компонент.


==Константы==
==Константы==
Строка 41: Строка 26:
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.ONE_SHOT|Timer.ONE_SHOT]]
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.ONE_SHOT|Timer.ONE_SHOT]]
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.PERIODIC|Timer.PERIODIC]]
* [[MicroPython:Библиотеки/machine/Класс Timer/Timer.PERIODIC|Timer.PERIODIC]]
* Timer.ONE_SHOT и Timer.PERIODIC – режимы работы таймера.
<syntaxhighlight lang="python" enclose="div">


=См.также=
=См.также=

Версия от 10:34, 20 сентября 2020

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


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

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

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

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

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

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

Методы

Константы

См.также

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