mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8 Watchdog (Assembler) aktzepziert 1,9s nicht ?


Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer kennt das Problem??

Der Watchdog ATmega8 (5 Volt und 1MHz interner Oszillator)
lässt sich nicht auf die 1,9 Sekunden programmieren.

Habe laut Datenblatt die Bits für 1,9 Sekunden Sekunden gesetzt,
aber er arbeitet irgendwo im Millisekundenbereich.

.include "m8def.inc"
wdr                  ;Watchdog zurücksetzen
ldi r16,0b00001111  ;Watchdog aktivieren (max. Zeit)
out wdtcr,r16

Autor: ThoWi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
siehe Datenblatt Seite 43 (Rev. L)

To disable an enabled Watchdog Timer and/or changing the Watchdog
Time-out, the following procedure must be followed:
1. In the same operation, write a logic one to WDCE and WDE. A logic
one must be written to WDE regardless of the previous value of the WDE
bit.
2. Within the next four clock cycles, in the same operation, write the
WDE and WDP bits as desired, but with the WDCE bit cleared.

daher solltest du das probieren

.include "m8def.inc"
wdr                  ;Watchdog zurücksetzen
ldi r16,0b00011000  ;NEU DAZU <---
out wdtcr,r16       ;NEU DAZU <---
ldi r16,0b00001111  ;Watchdog aktivieren (max. Zeit)
out wdtcr,r16

Gruß
Thorsten

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thorsten,

danke für Deinen Tipp,

hab es gerade mal getestet, funktioniert wunderbar.

Werde den Code mal hier veröffentlichen.

Wünsch Dir ein schönes Wochenende.

Gruß

Bernhard

Autor: Heiko Haedicke (vienet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Ich brauche zum ersten mal die Watchdog, da ich mit dem RFM12 
herumexperimentiere und das Modul hin und wieder alle paar Tage stehen 
bleibt.

Nun bin ich über diesen Beitrag gestolpert.

Um die Watchdog EINZUSCHALTEN reicht folgender Code:

.include "m8def.inc"

wdr                 ;Watchdog zurücksetzen
ldi r16,0b00001001  ;WDE setzten Bit 4 / Watchdog Time setzten Bit 0 1 2
out wdtcr,r16


main:

wdr ; Watchdog regelmäßig zurücksetzten

rcall sonstwas.

jmp main



Zum Testen im AVRStudio:



.include "m8def.inc"


wdr                 ;Watchdog zurücksetzen - und in Main regelmäßig 
zurücksetzten
ldi r16,0b00001001  ;WDE setzten Bit 4 / Watchdog Time setzten Bit 0 1 2
out wdtcr,r16


nop ; Hier einen Breakpoint setzten um zu sehen wann die WD auslöst

main:



jmp main

Autor: Heiko Haedicke (vienet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
;#####################################################
; Watchdog - Routinen - ATMEGA8 - Die Watchdog Fuse darf nicht gesetzt 
sein
;#####################################################

Watchdog_ON:
ldi r16,0b00011000  ;WDCE setzen da Änderung folgt / WDE ein
out wdtcr,r16
ldi r16,0b00001111  ;WDE EIN und Zeitbasis setzen Bit 0 1 2
out wdtcr,r16

Watchdog_OFF:
ldi r16,0b00011000  ;WDCE setzen da Änderung folgt / WDE ein
out wdtcr,r16
ldi r16,0b00000000  ;WDE AUS
out wdtcr,r16

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.