Сторожевой таймер на Ардуино, тест (WatchDog Arduino UNO)

для последнего проекта на «Ардуино», решил применить сторожевой таймер. Вот тут нашел статью по поводу проверки поддерживает ли ваша плата «ватчдог» или нет. Оказалось, что эти платы — поддерживают и отлично работают. Вот пример кода, результат надо смотреть через последовательный монитор IDE Arduino,

Если все Ок плата не зависнет, а сброситься через 8-мь секунд.

#include <avr/wdt.h>
 
void setup() {
  wdt_disable(); // бесполезная строка до которой не доходит выполнение при bootloop
  Serial.begin(9600);
  Serial.println("Setup..");
 
  Serial.println("Wait 5 sec..");
  delay(5000); // Задержка, чтобы было время перепрошить устройство в случае bootloop
  wdt_enable (WDTO_8S); // Для тестов не рекомендуется устанавливать значение менее 8 сек.
  Serial.println("Watchdog enabled.");
}
 
int timer = 0;
 
void loop(){
  // Каждую секунду мигаем светодиодом и значение счетчика пишем в Serial
  if(!(millis()%1000)){
    timer++;
    Serial.println(timer);
    digitalWrite(13, digitalRead(13)==1?0:1); delay(1);
  }
//  wdt_reset();
}

В моем случае все работает ок, я просто сделал вот так вот:

void loop()
{
 
  if(!(millis()%1000))
    wdt_reset();

 

Сторожевой таймер на Ардуино, тест (WatchDog Arduino UNO): 4 комментария

  1. Уведомление: Выключатель не горячей воды — 3 | Хроники фрилансера

  2. Уведомление: Автокран (выключатель негорячей воды), работа над ошибками | Хроники фрилансера

  3. У себя проверял, тоже поддерживает, а утром встал а система наглухо висит , не какой встроенный ватчдог не помог. прошил Загрузчик УНО в НАНО.

    • Советую блок питания сменить на более надежный. С апфс например, с большим конденсатором по фходу/выходу. Я ставил разные. Лучше всего от ноута леново работает. Но дорогой.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *