Управление сторожевыми часами на Arduino
В электронике и, соответственно, в вычислительной технике сторожевой таймер — это ресурс, который позволяет физическому устройству или приложению перезапуститься, когда оно перестает нормально работать. В частности, что касается микроконтроллеров, это часы обратного отсчета, которые производят сброс при переполнении.
Логично, что устройство не знает, когда оно перестанет работать корректно, принцип работы заключается в том, чтобы не допустить окончания обратного отсчета и, следовательно, перезагрузки системы. Для этого сначала настраивается интервал времени, в котором происходит перезагрузка, а во-вторых это значение обновляется, тем самым указывая на то, что устройство работает корректно и в данный момент перезапускать его не следует.
Для управления сторожевым таймером с помощью Arduino библиотеку следует использовать и всего три функции: чтобы отключить его при настройке времени сброса, который настраивает и активирует сторожевой таймер в момент, указанный в качестве параметра (время) и это возобновляет интервал отсчета сторожевого таймера.
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <avr/wdt.h> // Incluir la librería que contiene el watchdog (wdt.h)
void setup()
{
wdt_disable(); // Desactivar el watchdog mientras se configura
wdt_enable(WDTO_2S); // Configurar a dos segundos
}
void loop()
{
wdt_reset(); // Actualizar el watchdog para que no produzca un reinicio
}
|
Константы, которые можно использовать с
для установки времени обратного отсчета:- = 15 миллисекунд
- = 30 миллисекунд
- = 60 миллисекунд
- = 120 миллисекунд
- = 250 миллисекунд
- = 500 миллисекунд
- = 1 секунда
- = 2 секунды
- = 4 секунды
- = 8 секунды
Перед использованием сторожевого таймера важно убедиться, что загрузчик Что имеет микроконтроллер на плате? Arduino который используется, предоставил возможность использования данного ресурса. Известная ошибка в табличках Arduino Mega 2560 которые остались зависать именно с программами, использующими сторожевой таймер.
Чтобы узнать больше о том, что такое загрузчик загрузчик а как записать другую, отличную от той, которая идет в комплекте с вашей пластинкой, вы можете проконсультироваться в статья о методах программирования микроконтроллеров Atmel.
Оставить комментарий