Atmega Watchdog Timer abschalten

OP (Firma: Germany) #2612980
Lesenswert?

Hallo,
ich habe folgendes probelm.
ich habe ein programm geschrieben das einfach nur von 0 bis 999 zählt 
und dann die zahl durch ein display ausgibt.

Ich habe jetzt das problem das nach ca. 5sec. der ATmega sich resetet.

Kann das an dem watchdog timer hängen (den ich eigentlich abgeschaltet 
habe)


WDT_off:
push     r16
wdr
in       r16,WDTCR
ori      r16,0b00011000
out      WDTCR,r16
ldi      r16,0b00000000
out      WDTCR,r16
pop      r16
ret


oder gibt es noch andere funktionen die einen Reset auslösen?
OP (Firma: Germany) #2613059
Lesenswert?

WDT_off:

    ;** 1. Phase
    wdr                   ; reset WDT
   ldi  r16,0x00
   out  MCUCSR,r16
    ;** 2. Phase
    in  r16,WDTCR      ; Write logical one to WDCE and WDE
    ori r16,0b00011000

    in  r17,SREG       ; save I Flag
    cli                   ; we have only 5 cycles to reset WDE

    out WDTCR,r16

    ;** 3. Phase
    ldi r16,0x00   ; Turn off WDT
    out WDTCR,r16

    out SREG,r17       ; restore I Flag
    ret


probem ist immernoch vorhanden

spannungsabfall also brown-out kann es auch nicht sein der wurde auch 
deaktiviert
OP (Firma: Germany) #2613100
Lesenswert?

> Auch ein Fehler im Programm kann dazu führen (Sprung ins Nirgendwo,
> durchlaufen des leeren Flashs und ankommen bei Adresse 0; Interrupt ohne
> ISR...).


Da das Programm nicht so lang ist muss ich das glaube punkt für punkt 
noch mal durchgehen.

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