Espruino:Справочник по API/Класс E/enableWatchdog(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= ==Синтакс...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[ www.espruino.com - ]</ref>= | =Функция E.enableWatchdog()<ref>[https://www.espruino.com/Reference#t_l_E_enableWatchdog www.espruino.com - E.enableWatchdog]</ref>= | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
E.enableWatchdog(timeout, isAuto) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Параметры== | ==Параметры== | ||
* '''timeout''' – таймаут до сброса сторожевого таймера (в секундах) | |||
* '''isAuto''' – если задать здесь ''undefined'' или ''true'', сторожевой таймер будет автоматически сброшен. Если нет, вам нужно будет самостоятельно вызвать [https://www.espruino.com/Reference#l_E_kickWatchdog E.kickWatchdog()] | |||
==Возвращаемое значение== | |||
Нет. | |||
== | ==Описание== | ||
Сбрасывает сторожевой таймер. Если в течение заданного таймаута сторожевой таймер сброшен не будет, это сбросит саму [[Espruino]]. | |||
Если задать в ''isAuto'' значение ''false'', вам нужно будет самостоятельно вызвать [https://www.espruino.com/Reference#l_E_kickWatchdog E.kickWatchdog()], иначе будет выполнен сброс чипа. | |||
=== Пример 1: === | |||
<syntaxhighlight lang="javascript"> | |||
E.enableWatchdog(0.5); // автоматический режим | |||
while(1); // Espruino перезагрузится, потому что не находилась | |||
// в состоянии простоя в течение 0.5 секунд | |||
</syntaxhighlight> | |||
===Пример 2:=== | |||
<syntaxhighlight lang="javascript"> | |||
E.enableWatchdog(1, false); | |||
setInterval(function() { | |||
if (everything_ok) | |||
E.kickWatchdog(); | |||
}, 500); | |||
// Espruino будет сброшена, если в «everything_ok» будет «false» | |||
// или если не будет вызвана функция setInterval() | |||
</syntaxhighlight> | |||
{{Примечание1|Эта функция реализована только в [[STM32]]- и [[nRF5x]]-устройствах (все это – официальные платы [[Espruino]]).}} | |||
{{Примечание1|На [[STM32]]-устройствах ([[Pico]], [[WiFi]], [[Original]]), использующих setDeepSleep(1), вам нужно будет явно разбудить [[Espruino]] при помощи setInterval(), где интервал должен быть меньше, чем таймаут сторожевого таймера. В противном случае сторожевой таймер не сбросится, и плата будет перезагружена. Сделать это можно при помощи '''setInterval("", time_in_milliseconds)'''.}} | |||
{{Примечание1|Эта функция не доступна для устройств с маленькой [[flash-память]]ю.}} | |||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
Строка 31: | Строка 60: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Espruino | {{Навигационная таблица/Портал/Espruino}} | ||
Текущая версия от 17:36, 10 июня 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция E.enableWatchdog()[1]
Синтаксис
E.enableWatchdog(timeout, isAuto)
Параметры
- timeout – таймаут до сброса сторожевого таймера (в секундах)
- isAuto – если задать здесь undefined или true, сторожевой таймер будет автоматически сброшен. Если нет, вам нужно будет самостоятельно вызвать E.kickWatchdog()
Возвращаемое значение
Нет.
Описание
Сбрасывает сторожевой таймер. Если в течение заданного таймаута сторожевой таймер сброшен не будет, это сбросит саму Espruino.
Если задать в isAuto значение false, вам нужно будет самостоятельно вызвать E.kickWatchdog(), иначе будет выполнен сброс чипа.
Пример 1:
E.enableWatchdog(0.5); // автоматический режим
while(1); // Espruino перезагрузится, потому что не находилась
// в состоянии простоя в течение 0.5 секунд
Пример 2:
E.enableWatchdog(1, false);
setInterval(function() {
if (everything_ok)
E.kickWatchdog();
}, 500);
// Espruino будет сброшена, если в «everything_ok» будет «false»
// или если не будет вызвана функция setInterval()
См.также
Внешние ссылки