CODE
void InitWatchdog(void)
{
StopWatchdog();
WDTCR |= (1<<WDP2) | (1<<WDP1) | (1<<WDP0); //2s
}
void StopWatchdog(void)
{
__watchdog_reset();
//Write logical one to WDCE and WDE
WDTCR |= (1<<WDCE) | (1<<WDE);
// Turn off WDT
WDTCR = 0x00;
}
void StartWatchdog(void)
{
WDTCR |= (1<<WDCE) | (1<<WDE);
}
void BurnEeprom(char *data)
{
for(u08 addr = first_addr; addr <= last_addr; addr++)
{
__watchdog_reset();
StartWatchdog();
EEWriteByte_2k(addr, *data++); //if no responce - reset on watchdog
}
StopWatchdog();
}
{
StopWatchdog();
WDTCR |= (1<<WDP2) | (1<<WDP1) | (1<<WDP0); //2s
}
void StopWatchdog(void)
{
__watchdog_reset();
//Write logical one to WDCE and WDE
WDTCR |= (1<<WDCE) | (1<<WDE);
// Turn off WDT
WDTCR = 0x00;
}
void StartWatchdog(void)
{
WDTCR |= (1<<WDCE) | (1<<WDE);
}
void BurnEeprom(char *data)
{
for(u08 addr = first_addr; addr <= last_addr; addr++)
{
__watchdog_reset();
StartWatchdog();
EEWriteByte_2k(addr, *data++); //if no responce - reset on watchdog
}
StopWatchdog();
}
Для проверки рву шину I2C, но сброса не происходит - очевидно таймер не запускается. В чем может быть проблема?