Цитата(IgorKossak @ May 31 2006, 15:54)

Цитата(TamTam @ May 31 2006, 14:44)

... а можноли както записывать кудато сколько раз сработал WDT ???
Обьявить __no_init переменную, и всякий раз при рестарте её инкрементировать.
Причину рестарта (в том числе и по вотчдогу) можно выяснить прочитав регистр MCUCSR (это в ATmega128, а как в Вашем случае - не знаю).
Насколько я знаю, при подаче питания на ОЗУ, в его ячейках будет мусор. Поэтому компилятор обнуляет все ячейки после старта, если они конкретно не заданы. Если использовать неинициализированную переменную, то после подачи питпния в ней будет произвольное число. Дабы это подавить можно использовать что-то типа контрольной переменной, значение которой поставлено в строгую зависимость от контролируемой переменной. Например XOR-ить.
А при старте программы XOR-нуть контролируемую переменную и сравнить с контролирующей. Если не совпали, значит или первое включение или нарушена целостность данных. Ну а дальше действовать по усмотрению.
ПС В CV так и не нашел как обьявить __no_init переменную.
Цитата(TamTam @ May 31 2006, 15:44)

воспользовавшись вашим примеро
Код
unsigned int i;
for(i=0;i<0xFFFF;i++)
{
TOCH_MEMORY_LED_ON;
}
я увидел долгожданное диод всеравно перемаргивает что говорит о том что мк ресетится
Нужно сделать:
Код
for(i=0;i<0xFFFF;i++){}
TOCH_MEMORY_LED_ON;
Тогда светиться не будет.
Истина рождается в спорах; но когда страсти кипят, истина испаряется.