Я работаю с ATmega128, и мне нужно сбросить микроконтроллер через 10 секунд, а пользователь не взаимодействовал с микроконтроллером. Например, когда пользователь не нажимал ни одной клавиши на клавиатуре в течение 10 секунд, контроллер должен сбросить настройки.
Сторожевой таймер доступен в ATmega128, но я могу получить максимальную задержку в 2 секунды перед его сбросом. Но мне нужно 10 секунд.
Может быть, я могу сделать это с помощью таймеров, но я не знаю, как действовать дальше?
Вместо использования для этой цели сторожевого таймера
Запустите таймер, прежде чем принимать входные данные от пользователя, сбрасывайте этот таймер каждый раз, когда пользователь что-то вводит... Если пользователь неактивен в течение заданного времени, таймер переполнится... Установите флаг в таймере, и если этот флаг установлен, выйдите из вашего "Принять Введите "Цикл!
Можно добиться того же. Используйте сторожевой таймер (т.е. внутренний или внешний). Если он внешний, вы должны проверить его таблицу данных и ответ в соответствии с ним. Внутренний сторожевой таймер должен быть установлен на 2 секунды, а затем сброшен в цикле более чем на 1 секунду. для этой же цели целесообразно использовать таймер. Просто отключайте сторожевой таймер каждую секунду и сбрасывайте сторожевой таймер после 5 раз.
Санджу
Джон Ю
Кристоф
Санджу
Джон Ю
Санджу
Джон Ю
for(i=99999;i>0;){i--;}
от большого числа. Обычно это считается плохим способом добавления задержек, поскольку он останавливает ЦП, делая что-либо еще, но это самый простой способ.Санджу
Свананд
Джон Ю
Санджу
Санджу