ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
204895 Топик полностью
rezident (05.08.2010 01:49, просмотров: 123) ответил Андрей на Он есть. Но при глухих зависаниях меандр на внешний ВДТ продолжает идти... Ппц короче, надо софт править... но как?
А каков у вас алгоритм формирования меандра для WatchDog-а? Традиционно его формируют в каком-либо таймерном прерывании. Это в принципе не есть плохо, но только если верно реализован алгоритм проверки условий для "ногодрыжества" WD. Я обычно пользуюсь установкой битовых флагов в какой-то глобальной переменной. Установка флагов происходит в разных контрольных точках программы. Там, где программа обязательно должна выполнится за определенный временной промежуток. В таймерном прерывании идет проверка установки флагов, а после проверки все флаги сбрасываются. Но инверсия состояния вывода WDT происходит только в том случае, если все требуемые флаги были установлены. Таким образом, если даже программа зациклится так, что будет вызываться лишь таймерное прерывание, то формирования частоты для WD не будет и произойдет сброс устройства.