ATmega8515 und Watchdog

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 28 6 2024  22:52:19      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
ATmega8515 und Watchdog

    







BID = 120953

Henne02

Stammposter

Beiträge: 493
Wohnort: Aachen
Zur Homepage von Henne02
 

  


Moin!

Ich wollte nun meinem Gebastel den letzten Schliff verpassen und noch einen Watchdog implementieren, der im Falle irgendeines Fehlers die mcu resettet.

Dabei habe ich mich an das Datasheet des ATmega8515 gehalten:
während des inits:


Code :

;***** WATCHDOG

; ldi tempL, (1<<WDE)|(1<<WDP2)|(1<<WDP1)
; out WDTCR, tempL
; wdr



Die semikolons habe ich erst am Ende eingefügt, um alles wieder lauffähig zu bekommen...
Das setzen von WDCE ändert nichts am Fehler.

Der Watchdog soll während einer Timer0-Overflow ISR mit "wdr" resettet werden. (Die mcu läuft auf 8MHz und Timer0 arbeitet auf clk/1024)

Das Problem:
Der Watchdog resettet unabhängig vom wdr meine mcu und scheint sich nicht im geringsten für seinen Prescaler zu interessieren.

(Der komplette Code ist knapp 1,5k groß - deswegen habe ich jetzt nicht alles vollgemüllt...)

Es wäre nett, wenn ihr mir sagen könntet, wo ich Blödsinn gemacht habe - oder wenn Ihr mir eine Minimalapplikation mit (funktionierendem) WD posten könnetet...

Grüße, - der momentan ziemlich verzweifelte - Hendrik

BID = 120961

Henne02

Stammposter

Beiträge: 493
Wohnort: Aachen
Zur Homepage von Henne02

 

  

Ich habe eben noch einmal den Beispielcode von AVR-Beginners angepasst und ausprobiert.

..dasselbe Problem... (die LED bleibt an, anstatt zu blinken)


Code :


.include "C:\Programme\Atmel\AVR Tools\AvrAssembler\Appnotes\m8515def.inc"


.org 0x0000
rjmp reset

reset:
ldi r16, low(RAMEND)
out SPL, r16
ldi r16, high (RAMEND)
out SPH, r16

sbi DDRE, 1

ldi r16, 0b00001110
out WDTCR, r16

rcall delay_05
sbi PortE, 1
loop:
rjmp loop

delay_05:
ldi r16, 8
outer_loop:
ldi r24, low(3037)
ldi r25, high(3037)
delay_loop:
adiw r24, 1
brne delay_loop
dec r16
brne outer_loop
ret


BID = 121069

Henne02

Stammposter

Beiträge: 493
Wohnort: Aachen
Zur Homepage von Henne02

Das Problem hat sich erledigt

WDCE will 2Mal angestubst werden

Grüße, Hendrik


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 16 Beiträge im Durchschnitt pro Tag       heute wurden bisher 11 Beiträge verfasst
© x sparkkelsputz        Besucher : 181574010   Heute : 6980    Gestern : 6633    Online : 486        28.6.2024    22:52
5 Besucher in den letzten 60 Sekunden        alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0190989971161