Hallo
Bei meiner H-Brücke für das Projekt wollte ich zur sicherheit den
Watchdog aktivieren, da es immer wieder mal vorkommt das sich der Atmega
aufhängt.
Das Problem ist das sich der Atmega nicht komplett aufhängt sondern
manchmal einfach nur die Richtungs-LEDs nicht mehr schaltet. Daher
wollte ich den Watchdog verwenden.
1 | /*
|
2 | * Motor_0_2.c
|
3 | *
|
4 | * Created: 12.06.2012 07:33:59
|
5 | * Author: Christoph
|
6 | //LINKS
|
7 | */
|
8 |
|
9 | #include <avr/io.h>
|
10 | #include <Aura/aura_motor_lib_0_2.h>
|
11 | #include <avr/wdt.h>
|
12 |
|
13 | int main(void)
|
14 | {
|
15 | CLOCK_INIT();
|
16 | PSC2_Init();
|
17 | INIT_SLAVE_2();
|
18 |
|
19 | while(1)
|
20 | {
|
21 |
|
22 | wdt_enable(WDTO_120MS);
|
23 |
|
24 | PSC2();
|
25 | READ_SPI_TO_RAM();
|
26 | ON_OFF();
|
27 | Regelung_Links();
|
28 | Richtung();
|
29 | wdt_reset();
|
30 |
|
31 | }
|
32 | }
|
so weit so gut.
Wenn sich der Atmega einmal aufhängt hilft auch der Reset Knopf nicht
mehr. Ich muss komplett den Atmega vom Strom nehmen um ihn neu zu
starten.
Wieso? Auserdem löst der Watchdog nicht immer aus. Teilweise gehen die
LEDs nicht mehr aber der Atmega wird nicht resetet.
Schönen Abend
Christoph