Atmega Watchdog Timer abschalten

OP (Firma: Germany) #2612980
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?
Gast
Hi

>oder gibt es noch andere funktionen die einen Reset auslösen?

Ja. Z.B. dein Programm. Wenn du den WD nicht eingeschaltet hast 
(Software/Fuses), dann läuft er auch nicht.

MfG Spess
Gast
Bei manchen Typen muss zuerst WDRF in MCUSR gelöscht werden, sonst sind 
Änderungsversuche ohne Wirkung. Auch eine gesetzte WDTON-Fuse hat 
denselben Effekt.
OP (Firma: Germany)
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
Gast
Man kann auch MCUSR abfragen um zu erkennen, welche Sorte Reset es denn 
war. Ansonsten gibt's noch einige Gründe, warum ein Controller einen 
Reset ausführt.
OP (Firma: Germany)
> 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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.