Цитата(Хтось @ Oct 4 2013, 21:17)

А Вы использовали WDT в Xmega_х? Мне не верится, что он там не работает вообще, но мало ли?
Нет, я только Reset использовала по похожей схеме, вот так:
Код
__disable_interrupt();
CCP = CCP_IOREG_gc;
RST.CTRL = RST_SWRST_bm;
for(;;);
И он нормально работает. Только после такого сброса нулевой байт UART'ом непонятно откуда принимается (при аппаратном ресете его нет).
Цитата(Хтось @ Oct 4 2013, 21:17)

К сожалению, до понедельника попробовать уже не смогу. Все осталось на работе. А Вы использовали WDT в Xmega_х? Мне не верится, что он там не работает вообще, но мало ли?
Проверила на своем. Вот так работает, сброс есть:
Код
__disable_interrupt();
CCP = CCP_IOREG_gc;
WDT.CTRL = WDT_PER_500CLK_gc | WDT_ENABLE_bm | WDT_CEN_bm; // Watchdog Timer: On. Period: 500 ms
for(;;);
Только у меня маска называется WDT_PER_
500CLK_gc, а не WDT_PER_
512CLK_gc. Определена в хидере так:
WDT_PER_500CLK_gc = (0x06<<2), ///< 500 cycles (0.5s @ 3.3V)
Контроллер ATxmega128A1 (rev.H), компилятор EWAVR 6.21.2