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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div"> =...»)
 
Нет описания правки
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=Класс WDT – сторожевой таймер<ref>[http://docs.micropython.org/en/latest/library/machine.WDT.html docs.micropython.org - class WDT – watchdog timer]</ref>=


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


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python" enclose="div">
from machine import WDT
wdt = WDT(timeout=2000)  # активируем сторожевой таймер
                        # с таймаутом в 2 миллисекунды
wdt.feed()
</syntaxhighlight>
Доступность этого класса: [[pyboard]], WiPy, esp8266, esp32.
==Конструкторы==
* [[MicroPython:Библиотеки/machine/Класс WDT/machine.WDT()|machine.WDT()]]
* Класс machine.WDT(id=0, timeout=5000) – создает объект WDT и запускает его. Значение в аргументе timeout должно быть задано в миллисекундах. После запуска сторожевого таймера его нельзя остановить, а таймаут – поменять.
Примечания: На ESP32 минимальное значение для таймаута – 1 миллисекунда. На ESP8266 таймаут задать нельзя, он задается самой системой.
==Методы==
* [[MicroPython:Библиотеки/machine/Класс WDT/wdt.feed()|wdt.feed()]]
• wdt.feed() – выполняет сброс сторожевого таймера, чтобы он не сбросил систему. Этот метод должен стоять в чувствительном разделе приложения, чтобы таймаут таймера был сброшен только после проверки того, что все функционирует правильно.


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

Версия от 11:33, 20 сентября 2020

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


Класс 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() – выполняет сброс сторожевого таймера, чтобы он не сбросил систему. Этот метод должен стоять в чувствительном разделе приложения, чтобы таймаут таймера был сброшен только после проверки того, что все функционирует правильно.

См.также

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