Цитата(superbizzon @ Feb 20 2008, 13:18)

Попробую канешна... но дело в том что после подачи питания до момента переполнения WDT всё идёт правильно... а когда происходит сброс конртроллер какбы замирает - никакие команды не выполняются ( пробывал первой строчкой ставить поднятие ноги на другом порте а потом её опускал... так вот после WDReseta она не поднимается) , это я к тому, что если первой строкой поставить обнуление MCUSRа то оно пройдет только в первый раз после подачи питания, и при резете от WDT не возымеет никакого действия...

но хотя это чисто предположения - обязательно проверю, спасибо!
В меге128 пока вот так не сделал тоже была какая то лажа, к сожалению, подробности не помню.
// Инициализация WDT
_WDR();
WDTCR=0x1f;
WDTCR=0x0f; // init WDT
MCUCR=0x00;
В предыдущем посте ошибся не до, а после инициализации. Структура регистров у 128 и 2560 аналогичная, отличается немного битами прескалера и несколькими дополнительными, которые Вы не используете.
Цитата(VladimirYU @ Feb 20 2008, 14:24)

В меге128 пока вот так не сделал тоже была какая то лажа, к сожалению, подробности не помню.
// Инициализация WDT
_WDR();
WDTCR=0x1f;
WDTCR=0x0f; // init WDT
MCUCR=0x00;
В предыдущем посте ошибся не до, а после инициализации. Структура регистров у 128 и 2560 аналогичная, отличается немного битами прескалера и несколькими дополнительными, которые Вы не используете.
И еще. Посмотрел несколько своих проектов везде аналогичная конструкция, везде работает на разных мегах 16,32,64, 128. Ничего не хочу утверждать, пользуюсь ей "на автопилоте" после того, как поимел схожие проблемы. Перед инциализацией все прерывания запрещаю.