Gast
#4985799
Hallo,
ich Programmiere gerade mit Arduino und möchte einen Atmega64L im
Sleepmode mit dem Watchdog nach einer festgelegten Zeit zurückholen.
In Sleep geht er aber er kommt nicht mehr zurück.
Der Befehl ruft die goToSleep auf, in der SLEEP_TIME steht die Zahl 7
irgendwie funktioniert der Watchdog nicht und ich werd nicht so recht
schlau aus dem Datenblatt. Nach 4 Std vergeblichem rumprobieren brauch
ich jetzt hilfe, vielleicht hat das schon jemand gemacht.
Hier der Arduino Code mit der Sleep Funktion
goToSleep (0b100001, SLEEP_TIME);
void goToSleep(const byte interval, int time) {
for (int i=0; i<time; i++) {
MCUSR = 0;
WDTCR |= (1<<WDCE) | (1<<WDE);
WDTCR = 0b01000000 | interval; //hier muss der Fehler sein
set_sleep_mode (SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_cpu();
}
}
ISR(WDT_vect)
{
WDTCR = 0x00; //für Watchdog disablen laut Datenblatt Atmega64
}

