Ich hab jetzt den Tiny13 zum 116ten mal geflashed und schaffe es immer noch nicht den Watchdog dazu zu bringen, nach einem "POWERDOWN" den Chip einfach wieder zu erwecken so dass das Programm exakt nach dem POWERDOWN wieder weiter geht.

Ich führe im "echten" Programm eine Zählvariable mit, die nicht verloren gehen darf, deshalb kann ich hier kein Reset brauchen.

Scheinbar tut er aber genau das.

Hier mal das Test-Programm:
Code:
$regfile = "ATtiny13.dat"                                   'Hinweis: ATTiny13 mit internem 1,2MHz-Takt (9,6 MHz / 8)
$framesize = 32
$swstack = 20
$hwstack = 20
$crystal = 1200000

Wdtcr = &B11110001                                        
'gewollt: 8 Sekunden Time-Out OHNE Reset (soll weitermachen wo er aufgehört hat)                                       

Enable Interrupts

Config Pinb.4 = Output

Const Ein = 1
Const Aus = 0

heizen Alias Portb.4

Wait 5

Start WATCHDOG

   heizen = Ein

   Reset Watchdog
   POWERDOWN

   heizen = Aus
End
Hier läuft das Programm nie ins "End". Die Abfolge nach dem Power-ON ist:
- 5 Sekunden Pause (vom WAIT)
- EIN
- 8 Sekunden Pause (vom WD)
- AUS
- 5 Sekunden Pause
- ...
- ...
- u.s.w.

Also macht der Tiny offensichtlich einen Reset.

Ich weis, dass man den WD im wdtcr-Register auch auf "Interrupt-Mode" stellen kann und nach meinem Ermessen hab ich das auch mit obiger Einstellung getan. (und noch viele andere Kombinationen probiert)
Aber trotzdem läuft es falsch.
Beim Googlen waren auch mehrere Programme zu finden, wo es genau so gemacht wurde. (z.B. hier: http://www.geoclub.de/viewtopic.php?...18400&start=30)
Oder fast genau so.

Irgendwo mach ich einen Fehler.

Ideas? Anybody?