Vielleicht sollte ich näher erläutern, wie ich zu der Annahme komme:
- Spannung vom System wird eingeschaltet (SRAM hat vor Programmstart irgendwelche Werte ungleich 0) und System (Programm) läuft wie gewünscht.
- Von FB kommt "000" und durch Variable "iBB16" wird Watchdog ausgelöst.
- Watchdog erzeugt einen Reset, der die I/O Register auf Defaultwerte zurücksetzt aber den SRAM unberührt läßt.
- Das Hauptprogramm beginnt von vorne und die Variable "iBB16" könnte nun im SRAM auf der gleichen Stelle wie vorher liegen und dort den Wert 0 wie vor dem Reset erhalten -> neue Watchdogauslösung.
- u.s.w. bis Spannung abgeschaltet wird.
Falls also nicht verhindert wird, das iBB16 nach Watchdogreset bzw nach wdt_disable(); ohne FB den Wert 0 hat, könnte ich mir den Ablauf also so vorstellen.
Lesezeichen