Hallo,
ich möchte meine Atmega-Firmware per Software, d.h. mittels Watchdog resetten. Im Prinzip funktioniert das auch, aber manchmal eben auch nicht.
Hier mein abgespeckter Code:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
Der Watchdog wird mit einer Taste auf PB0 ausgelöst. Zur Kontrolle der Funktionalität der Firmware zählt PC1...PC5 runter, da habe ich LEDs dran, die entsprechend blinken, solange die Firmware läuft.
Das Verrückte ist, was
1 |
|
ganz am Anfang verursacht. Ist der auskommentiert, tut der Watchdog genau das, was er soll. Das Blinken geht nach Auslösen des Watchdog von vorne los.
Hab ich den Delay aktiviert, dann hängt der Watchdog die Firmware auf, kein Blinken mehr nach Auslösen des Watchdog. Hat hierfür irgend jemand eine Erklärung? Ich benutze WinAVR und avr-gcc und flashe über ISP.
Gruß, Thomas