Перехожу с ATmega32 на ATmega644 по причине нехватки памяти и невозможности поставить другой корпус. Программу уже переделал, но выяснилась одна очень неприятная особенность: Устройство засыпает в power down, и просыпается по INT0. Но не всегда.... если коснуться чем-то типа щупа осциллографа ножки INT0, настроенной на на прерывание от низкого уровня и подключенной через 3к3 к +5В, процессор не просыпается и начинает потреблять около 8мА. Ни на какие другие прерывания уже не реагирует. Только reset. Мертвый висяк. Устройство серийное, разводка не менялась. На меге32 если такое и бывало, но я этого никогда не видел. Пользователи сообщали иногда о чем-то похожем, но это выборка типа 1 из 1000 устройств. И то, не проверено. Условия не шумные, все это происходит у меня на столе, на антистатическом коврике, заземленном. Питание чистое. Watchdog не использую. Какие мысли у самого: 1. попробовать ту же ножку запрограммировать не как прерывание INT0, а как PCINT - может получше будет. 2. мелкий керамический конденсатор на эту ножку (до земли)- поскольку подозреваю что нормальный выход из спячки не происходит из-за того, что сигнал INT0 слишком короткий. 3. задействовать Watchdog. Правда, просыпаться лишний раз не хотелось бы....
Прошу помощи словом не деле. На что еще обратить внимание? Повторю, то же самое в megа32 работает годами и на многих тысячах устройств.