Andrey писал(а):где и как в программе можна вставить ВАЧДОГ и где его сбросить
перед строкой
- Код: Выделить всё
// Global enable interrupts
#asm("sei")
почти в самом низу текста программы вставить следующее:
- Код: Выделить всё
// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/1024k
// Watchdog Timer interrupt: Off
#pragma optsize-
WDTCR=0x39;
WDTCR=0x29;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
сбрасывать его можно так:
- Код: Выделить всё
#asm("WDR")
вставьте эту строку в тело Таймера 0. Должно получиться так (полный текст таймера):
- Код: Выделить всё
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0xBF;
#asm("WDR")
ScanKbd();
}
А, ну и не забыть включить ФЬЮЗ WDTON=0.
Добавлено спустя 9 минут 10 секунд:
portos писал(а):Поставьте дэльту 1° и потом уменьшайте Туст. до -50. В чём проблема? Не пойму...
попробовал поставил и на - не опускается только до 0.
Наверное не ту прошивку вы шьёте. Сейчас попробовал выставить - 55°C - всё получилось. Термостат стоит у меня на обогрев картошки

Прошивка v3.2 (та которая с комментариями.)