MicroPython:Библиотеки/machine/Класс Timer: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 16: | Строка 16: | ||
* [[MicroPython:Библиотеки/machine/Класс Timer/machine.Timer()|machine.Timer()]] | * [[MicroPython:Библиотеки/machine/Класс Timer/machine.Timer()|machine.Timer()]] | ||
==Методы== | ==Методы== | ||
Строка 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()]] | ||
==Константы== | ==Константы== | ||
Строка 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]] | ||
=См.также= | =См.также= |
Версия от 10:34, 20 сентября 2020
Класс Timer – управление аппаратными таймерами[1]
Аппаратные таймеры предназначены для работы с периодами и событиями. Таймеры – это, возможно, самые гибкие и разнообразные компоненты микроконтроллеров и SoC-систем; они очень сильно варьируются от одной модели к другой. В классе Timer в MicroPython задана базовая операция выполнения функции обратного вызова с заданной периодичностью (или единожды после некоторой задержки), но на некоторых платах с его помощью можно задать и более нестандартное поведение (и тогда код невозможно будет портировать на другие платы).
О важных ограничениях при использовании функций обратного вызова в классе Timer читайте тут.
Примечание: Внутри обработчиков запросов на прерывание (прерываний) память выделять нельзя, и поэтому исключения, возбуждаемые обработчиком, дают мало полезной информации. О том, как обойти это ограничение, читайте тут.
Если вы используете плату WiPy, то вместо этого класса вам понадобится machine.TimerWiPy.