Цитата(aiwa @ Mar 16 2017, 12:04)

Как Вы узнаете, что не срабатывает, а останавливает работу МК?
Может он, например, срабатывает циклически.
Сначала проверьте снимаете ли Вы собачий флаг - в доке рекомендация его очищать даже если WatchDog не используется.
Инициализацию я уже приводил. Настроен на интервал примерно 0,55с.
После неё стоит следующее:
Код
LCD_String("INIT",0,0);
sleep(3000);
LCD_Command(0x01);
LCD_String("NO WATHCHDOG!!!",0,0);
и
Код
#pragma interrupt_handler wdt_isr:iv_WDT
void wdt_isr(void)
{
//watchdog timeout
LCD_String("INTERRUPT!!!",0,1);
sleep(1000);
resetFunc();
}
Соответственно, если отключен, то вижу надпись "INIT", через полсекунды "NO WATCHDOG".
Если включен в режиме прерываний, то вижу "INIT", затем "INTERRUPT". Когда в прерывании есть resetFunc(), то всё по кругу.
Если включаю в режиме сброса, то вижу надпись "INIT", которая через полсекунды гаснет.... И ВСЁ!!!! более ничего не происходит.
Отсюда делаю вывод, что в режиме сброса у меня он не заработал.
Сообщение отредактировал IgorKossak - Mar 18 2017, 15:05
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!