MicroPython:Библиотеки/machine/Класс WDT: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div"> =...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 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() – выполняет сброс сторожевого таймера, чтобы он не сбросил систему. Этот метод должен стоять в чувствительном разделе приложения, чтобы таймаут таймера был сброшен только после проверки того, что все функционирует правильно.