AT90S2313 - 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: 06 10 2024  01:07:28      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


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


Autor
AT90S2313 - Watchdog

    







BID = 375163

olfi13

Schreibmaschine

Beiträge: 1077
Wohnort: Wittingen
 

  


Hi!

Ich bekomme den Watchdog nicht aktiviert.

; Hier ein paar Bytes die gesendet werden, mit Terminal zu sehen
...
wdr
ldi temp0, 0b00001101
out WDTCR, temp0

loop:
...
rjmp loop

Nach Reset werden die Bytes am Terminal angezeigt, da ich den Befehl wdr nicht mehr verwende sollte der µC immer wieder neu starten. macht er aber nicht.
Hat jemand eine Idee?

Gruß, olfi

_________________
Gruß, olfi

BID = 375239

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

 

  

Hallo Olfi13,

hast du denn das Fusebit ensprechend programmiert, um den Watchdog zu aktivieren?

_________________

BID = 375273

Jornbyte

Moderator



Beiträge: 7149

.DSEG
Dog_Food: .byte 1 ;A place to store dog food
.CSEG
.equ Dog_Chow = 251 ;How many mS between feedings.


Init_Watchdog:
ldi TEMP,$0F ;000XXXXX Reserved
;XXX0XXXX Watchdog turnoff enable
;XXXX1XXX Watchdog enable bit 1=enable
;XXXXX000 (8) Watchdog timeout, 16mS
;XXXXX001 (9) Watchdog timeout. 32mS
;XXXXX010 (A) Watchdog timeout. 64mS
;XXXXX011 (B) Watchdog timeout. 128mS
;XXXXX100 (C) Watchdog timeout, 256mS
;XXXXX101 (D) Watchdog timeout, 512mS
;XXXXX110 (E) Watchdog timeout,1024mS
;XXXXX111 (F) Watchdog timeout,2048mS
out WDTCR,TEMP ;

;Initial states for watchdog timer
;
ldi TEMP,Dog_Chow ;Start a countdown for resetting the watchdog
sts Dog_Food,TEMP ;

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 375274

Jornbyte

Moderator



Beiträge: 7149

Timed_Smack:

;Whatever you need to satisfy the internal or external watchdog

;The internal watchdog can be set to 16,32,64,128,256,512,1024,or 2048mS
;This scheme for timed reset is limited to 255mS between resets, but it can
;be used with any of the timeouts above. Resetting a watchdog more frequently
;than is needed, is mostly harmless.
;Just make sure that the value you set the timer to at the end of INIT is
;GREATER than the value you assign for Dog_Chow in EQUATES.INC
;The code to set the watchdog to a particular interval is in INIT.ASM
push TEMP ;Some routines that need to use this,
;also need to use TEMP..
lds TEMP,Dog_Food ;How many milliseconds before reset is needed?
and TEMP,TEMP ;Is it zero?
brne Smack_Done ;Nope, just exit

ldi TEMP,Dog_Chow ;Reload the timer for the next occurence
sts Dog_Food,TEMP ;

wdr ;This code will reset the internal watchdog

ldi TEMP,$0D ;000XXXXX Reserved
;XXX0XXXX Watchdog turnoff enable
;XXXX1XXX Watchdog enable bit 1=enable
;XXXXX000 (8) Watchdog timeout, 16mS
;XXXXX001 (9) Watchdog timeout. 32mS
;XXXXX010 (A) Watchdog timeout. 64mS
;XXXXX011 (B) Watchdog timeout. 128mS
;XXXXX100 (C) Watchdog timeout, 256mS
;XXXXX101 (D) Watchdog timeout, 512mS
;XXXXX110 (E) Watchdog timeout,1024mS
;XXXXX111 (F) Watchdog timeout,2048mS
out WDTCR,TEMP ;

Smack_Done:
pop TEMP ;

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 375276

Jornbyte

Moderator



Beiträge: 7149

Ach ja, beim 90S2313 gibt es nichts an den Fuses zu schrauben. Beim Tiny2313 ist das was anderes.

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 375278

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Soso,
Danke für die Info.

_________________

BID = 375687

Jornbyte

Moderator



Beiträge: 7149

oder so:

.include "2313DEF.INC"

.ORG 0

_Reset:
ldi yl,low(RAMEND)
out SPL,yl
sbiw yl,32


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



;Start WatchDog
in zl,WDTCR
sbr zl,0x18
out WDTCR,zl

;Do
L0:

;Loop
rjmp L0
L1:

;Stop WatchDog
in zl,WDTCR
sbr zl,0x18
out WDTCR,zl
cbr zl,0x08
out WDTCR,zl

;Reset WatchDog
wdr

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 375850

JanG

Gerade angekommen


Beiträge: 5
Wohnort: Vlotho

Kleine Ergänzung zum Tiny2313:

Auch hier muss man keine Fuses setzten um den Watchdog zu aktivieren, man kann ihn genauso einschalten wie beim 90S2313. Allerdings hat der Tiny das WDTON-Fuse, womit der Watchdog dauerhaft aktiviert wird und per Software nicht mehr ausgeschaltet werden kann.
Beim Tiny kann man im Gegensatz zum 90S den Watchdog auch so einstellen, das er einen Interrupt und keinen Reset auslöst oder erst einen Interrupt und dann den Reset.

BID = 376333

olfi13

Schreibmaschine

Beiträge: 1077
Wohnort: Wittingen

Danke jornbyte!
Zeit ist wieder einmal knapp geworden. Ich melde mich aber sicherlich bei Erfolg
Gruß, olfi

_________________
Gruß, olfi


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 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 0 Beiträge verfasst
© x sparkkelsputz        Besucher : 182131805   Heute : 168    Gestern : 5445    Online : 554        6.10.2024    1:07
3 Besucher in den letzten 60 Sekunden        alle 20.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0677359104156