Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Что такое сторожевой таймер?

Компоненты и расходные материалы

Arduino UNO
× 1

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Какая ситуация, пока ваш микроконтроллер запутал в бесконечном цикле😖. Есть ли случай, например, зависание или застревание микроконтроллера при выполнении задачи😖. Каков обычный метод устранения неполадок? Кнопка сброса, правая ? Можно ли все время нажимать на кнопку? 😕. Итак, что насчет устройства для выполнения этой задачи? звучит отлично. Круто ...! 🙂.

Да ! Теперь поговорим о таком устройстве, которое уже находится внутри на микроконтроллере. Это сторожевой таймер .

Сторожевой таймер.

" Сторожевой таймер ( WDT ) - это аппаратный таймер, который автоматически производит сброс системы, если основная программа не заботится о ее периодическом обслуживании. Он часто используется для автоматического сброса встроенного устройства, которое зависает из-за программного или аппаратного сбоя. "(os.mbed.com/cookbook/WatchDog-Timer).

Покормите собаку!

Если у вас дома есть собака. Вам необходимо регулярно кормить эту собаку. если однажды ты не сможешь накормить, он тебя укусит! Как этот сторожевой таймер работает.

У нас есть основная часть программы, которая повторяется снова и снова ( цикл ). Мы включаем сторожевой таймер, который загружается с начальным значением, превышающим общую задержку в основной программе. Каждый раз основная программа сбрасывает этот таймер. Если в любом случае основная программа не возвращается, чтобы сбросить таймер до того, как он обратится к нулю, генерируется прерывание для сброса процессора. Точно так же сторожевой таймер защищает микроконтроллер от подвешивания.

Итак, давайте попробуем сторожевой таймер в Arduino ;)

В Arduino UNO используется ATMEGA328P микроконтроллер.

Библиотека сторожевого таймера

  #include   

Библиотека необходима для использования сторожевого таймера в Arduino

Включить сторожевой таймер:

wdt_enable (таймер сброса WDT);

Чтобы включить сторожевой таймер, WDT RESET TIMER варьируется от 15 мс до 8 с

Например: wdt_enable (WDT0_8S); - Включен сторожевой таймер на 8 секунд

Сброс сторожевого таймера

wdt_reset ();

Эта функция используется для сброса сторожевого таймера. Функция сброса используется внутри loop () . Если ваша программа использует большую задержку delay () которая превышает пороговую задержку сторожевого таймера, добавьте функцию сброса перед этой задержкой. В противном случае он сбросит микроконтроллер перед выполнением этой задачи.

Отключение сторожевого таймера

wdt_disable ();

Пример кода:

  #include  
void setup () {
Serial.begin (9600);
Serial.println ("Установка началась:");
// делаем задержку перед включением WDT
// эта задержка помогает завершить все начальные задачи
delay (2000);
wdt_enable (WDTO_4S);
}
void loop () {
Serial.println ("ЦИКЛ запущен!");
for (int i =0; i <=5; i ++) {
Serial.print ( "Loop:");
Serial.print (i);
Serial.println ();
delay (1000);
wdt_reset ();
}
// бесконечный цикл для зависания MCU
while (1) {}
}

Вывод

Свои отзывы, вопросы, обсуждения снимайте в комментариях.

Код

  • Полный код
Полный код Arduino
 #include  void setup () {Serial.begin (9600); Serial.println ("Установка началась:"); // делаем задержку перед включением WDT // эта задержка помогает завершить все начальные задачи delay (2000); wdt_enable (WDTO_4S);} void loop () {Serial.println («Цикл запущен!»); для (int я =0; я <=5; я ++) {Serial.print ("Цикл:"); Serial.print (i); Serial.println (); задержка (1000); wdt_reset (); } // бесконечный цикл для зависания MCU while (1) {}} 

Производственный процесс

  1. Что такое вставка?
  2. Что такое прототипирование?
  3. Что такое линейный двигатель?
  4. Что такое токарная обработка с ЧПУ?
  5. Что такое Литейный завод?
  6. Что такое многоступенчатый насос?
  7. Что такое пресс-питатель?
  8. Что такое погружной насос?
  9. Что такое робот для напитков?
  10. Что такое механический пресс?