|
Исходные данные: Система на базе MCS51 с внешним WDT и супервизором питания. Питание - КРЕН5 (100мкФ), защита "резисторы-стабилитроны". Снизу стека (по адресам) - 4 нулевых байта (защита от опустошения - будем всплывать на адресе "reset'a"), сверху стека - 16-и битная переменная (увеличивается в прерывании по "тикам", если достигнуто некое значение - устанавливается флаг). В основной программе время от времени опрашивается флаг (программа в это время отрабатывает задержку) и, при его наличии, сбрасывается он сам и WDT.
Бью прибор пьезозажигалкой по земле, по линиям исполнительных механизмов (фактически по нестабилизированному питанию, 10-15В) и по сигнальным линиям.
Итог: Одно зависалово примерно на 25..30 ударов.
Что посоветуете?
Убрать счётчик из прерывания? А ещё что? Желательно без измененния железа...
Спасибо за участие. Щас пойду подремлю часок-другой - и на вечернюю смену... %-|
E-mail: info@telesys.ru