QUOTE (kriv-73 @ Feb 6 2011, 17:15)

Сбрасывать можно только в main(), потому что прерывания продолжают вызываться и после разрушения стека.
Отлично

, а как вариант - прерывание накрылось медным тазом, а main() тупо крутиться.
В случае наличия операционной системы варианты сброса WD следует начинать рассматривать с варианта соэдания самой низкоприоритетной задачи в которой осуществляется контроль работоспособности и основных задач и обработчиков прерываний. В этой-же задаче могут приниматься и какие-либо мягкие меры, например, обресетить сначала переферийное обороудование, вместо того, что-бы собаку спускать.
Без операционки - в том-же main() хоть какой-то контроль за псевдопроцессами и только в случае их работоспособности сброс WD.