Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Маленький watchdog
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Nikitoc
Всем здрасте! Работаю сейчас с ATmega128L. По даташиту максимальное время переполнения его сторожевого таймера равно примерно 2 секундам. А мне необходимо, например, 30 сек. Какие могут быть варианты, кроме отключения-включения watchdog'а?
rezident
Если нехватка связана с длительным временем нахождения в "спячке", то логичнее всего было бы "посыпаться" с периодом меньшим срабатывания WDT и сбрасывать его.
HardJoker
Цитата(Nikitoc @ Mar 2 2010, 16:56) *
Всем здрасте! Работаю сейчас с ATmega128L. По даташиту максимальное время переполнения его сторожевого таймера равно примерно 2 секундам. А мне необходимо, например, 30 сек. Какие могут быть варианты, кроме отключения-включения watchdog'а?


Внешний WatchDog на минуту. У Maxim'a как-то видел.
XVR
Виртуальный WD на таймерном прерывании. Делается таймерное прерывание, меньшее, чем максимальное время железного WD, в нем декрементируется некоторый счетчик (если он не нулевой), и выдается сброс WD (опять же, если счетчик не нулевой).
В основной программе в этот счетчик периодически записывается константа (это будет аналог сброса WD)
firstvald
Всякие нестандартные собаки пишу на 12 пике.
DpInRock
Ерунда какая-то.
Все намного проще.
Ставим максимальный вочдог.
Просыпаемся. Декремент счетчика. Если ноль - работаем, если нет, засыпаем опять.
Затраты по времени и питанию - ничтожные.
Nikitoc
Всем большое спасибо за дельные советы. Удалось решить проблему более-менее рациональным размещением команд сброса сторожевого таймера. Правда, пришлось немного изменить код.
Pyku_He_oTTyda
Цитата(DpInRock @ Mar 5 2010, 13:39) *
Ерунда какая-то.

а счетчик где хранить, в еепром?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.