www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Watchdog Problem


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich versuche den Watchdog
bei einem Mega8 zu nutzen.
Eigentlich sollte der Reset erst nach ca. 2s kommen.
Er kommt aber bereits nach ca. 0.2s

Hier mal mein Code zum Start des Watchdog:

watchdog_on:
    ldi mpr, 0b00001111; watchdog einschalten
    out WDTCR, mpr
    wdr
    ret

Mir fällt dazu nichts mehr ein.

Whats wrong ?

Autor: Henning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ganze soll ja mit der betriebsspannung veränderlich sein... da
schonmal gesucht? kann man bei den Megas den internen oscilator nich
auch justieren? vieleicht die richting...

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich auch schon dran gedacht. Die Spannung stimmt.
Ich benutze den internen RC osci. Der läuft recht exakt auf 1 MHz.
Laut der Datenblätter hat der Watchdog aber einen eigenen Timer.
Wie ich den kalibrieren kann, hab ich bisher leider nicht herausfinden
können.
Trotzdem vielen Dank

Autor: OliverK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal

watchdog_on:
    wdr
    ldi mpr, 0b00001111; watchdog einschalten
    out WDTCR, mpr
    ret

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael

Ich Programmiere den ATmega128 und bei diesem muss das WDTCR zweimal
innerhalb von 4 Taktzyklen gesetzt werden, damit der Wert übernommen
wird.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispiel:
  WDTCR |= 0x1F;
  WDTCR |= 0x0F;  //scale Faktor => 2s Tabelle siehe Seite 54

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach was...  Das mußt Du nur tun, wenn Du den Watchdog abschalten
willst.  Einschalten darf man ihn immer, auch beim ATmega128.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ OliverK : klappt leider nicht

@ Wolfgang : Vielen Dank, so gehts, weiss der Teufel warum

Gruß Michael

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe gerade das gleiche Problem mit dem ATmeg8

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Problemlösung fürn Mega8:
(mal ausnahmsweise reinkopiert und nicht als anhang)
'FASTAVR
$Device= mega8      ' used device
$Stack = 32        ' stack depth
$Clock = 3.6864      ' adjust for used crystal
$WatchDog=2048
Start WatchDog
Do            ' place your code in next line

Loop

Ende BASIC-CODE
***************

++++++++
ASM-FILE-AUSGABE (reinkopiert)
++++++++
;FastAVR Basic Compiler, ver.4.0.1, by MicroDesign
;Created 21:29:44, 20-02-2005
;
.include  "E:\FASTAVR_4\inc\m8def.inc"
;
    .DSEG

    .CSEG
.ORG  0

_Reset:
    ldi    yl,Low(RAMEND)
    out    SPL,yl
    ldi    yh,high(RAMEND)
    out    SPL+1,yh
    sbiw  yl,32


    ldi    zl,0x1f
    out    WDTCR,zl
    ldi    zl,0x17
    out    WDTCR,zl

;******  USERS BASIC CODE **********************

;-Line--0009----Start WatchDog--
    in    zl,WDTCR
    sbr    zl,0x18
    out    WDTCR,zl

;-Line--0010----Do            ' place your code in next line--
L0000:

;-Line--0012----Loop--
    rjmp  L0000
L0001:

;****** End OF USER BASIC CODE ****************


;System Global Variables: 0  bytes
;User   Global Variables: 0  bytes

Hiermit geht's jedenfalls, vielleicht kann man den ASM-Teil
"klauen"..
AxelR.

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.