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

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

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


Класс WDT – сторожевой таймер[1]

Сторожевой таймер используется для перезапуска системы, если приложение дало сбой и вошло в невосстановимое состояние. После запуска сторожевого таймера его никак нельзя остановить или перенастроить, и приложение должно периодически сбрасывать его, чтобы его таймаут не истек, так как в этом случае произойдет сброс системы.

Пример использования:

from machine import WDT
wdt = WDT(timeout=2000)  # активируем сторожевой таймер
                         # с таймаутом в 2 миллисекунды
wdt.feed()

Доступность этого класса: pyboard, WiPy, esp8266, esp32.

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

  • Класс machine.WDT(id=0, timeout=5000) – создает объект WDT и запускает его. Значение в аргументе timeout должно быть задано в миллисекундах. После запуска сторожевого таймера его нельзя остановить, а таймаут – поменять.

Примечания: На ESP32 минимальное значение для таймаута – 1 миллисекунда. На ESP8266 таймаут задать нельзя, он задается самой системой.

Методы

• wdt.feed() – выполняет сброс сторожевого таймера, чтобы он не сбросил систему. Этот метод должен стоять в чувствительном разделе приложения, чтобы таймаут таймера был сброшен только после проверки того, что все функционирует правильно.

См.также

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