inc(dec()) писал(а):
А где гарантия, что ПИК не зависнет через минуту после сброса по таймеру и не будет висеть час — два
Кстати, большой конденсатор (1000 мкФ) на питании ПИКа тоже помогает... Банально, но все же
Прислал один добрый человек прошивку переработанную с WDT.
Сегодня потестил в разных режимах с компом, пока робит весь день!
Искусственно создал условия зависона - типа 4 ногу MCLR отцепил о 5 вольт и заземляя так типа шорохом. По звуку ПИК в какой-то момент повисает, верещание данных прекращается и светодиод перестает моргать, а через 2,3 сек. восстанавливается всё в раб. режим!
(WDT выставлен с предделителем на 128. Получается один такт задержки 18 мсек х 128 = 2.3 сек). Пробовал несколько раз - по секундомеру точно через 2.3 сек всё восстанавливается после зависона.
Но докучи всё-таки аппаратный ресет сделаю для гарантии.
Время сброса по таймеру надо делать не час - два, всего лишь несколько минут, это надёжнее. ПИКу от этого ничего не будет. Передача данных восстанавливается практически мгновенно (для аппаратного внешнего сброса определяется длительностью импульса сброса, а через внутренний WDT - 2,3 сек.), а на дисплеях приёмников смена информации в самом неблагоприятном случае от 5 сек. и больше (динамический текст). Так что юзеры этого даже и не заметят...
Я выбрал период от 5 до 10 минут.
И если сторожевой таймер внутри будет отлично робить тогда вообще не нужен будет аппаратный сброс.
Дальнейшее тестирование в полигонных условиях приближённых к боевым (на радиостанции) покажет все плюсы и минусы прошивки.