[SOLVED] Watchdog - ATMEGA 168

#3867645
Lesenswert?

Hallo,

ich habe am WE ein bisschen mit der WATCHDOG-Funktion getestet und da 
habe ich ein kleine Problem.

Ich binde die Datei "<avr/wdt.h>" ein.
Und hier dann mein etwas verkürzter Sourcecode:
1
int main(void)
2
{ 
3
    wdt_disable();  //disable for startup
4
    
5
    uart_init(); //for DEBUG 
6

7
    //ein paar Init-Funktionen    
8
 
9
    uart_puts("Init Timer...\n\r"); 
10
    TimerInit(); // initialize timer
11
    
12
    wdt_enable(WDTO_2S);
13
   
14
    sei (); 
15
    while(1)
16
    {   
17
            //MAINLOOP
18
        //wdt_reset(); //zum testen auskommentiert
19
    }
20
}

Da ich ja in der Main-Schleife den wdt_reset auskommentiert habe, 
schlägt der Watchdog nach 2 Sekunden zu - dies passt noch zu meinem 
Verständnis.

Auf der Seriellen Schnittstelle stehe ich da, in dem der Text "Init 
Timer..." erscheint.
Nur wird jetzt aber ständig der Text "Init Timer" ausgegeben - in ein 
paar ms Abstand.
Müsste nicht der Watchdog am Programmstart beendet werden und dann mit 
den 2 Sekunden wieder beginnen  ?

Wo habe ich hier meinen Denkfehler bei der verwendung von Watchdogs ?

Gruß,

Michi

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren