AVR-Studio > Simulator > Watchdog / ATmega 162 Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
| Autor |
AVR-Studio > Simulator > Watchdog / ATmega 162 Suche nach: atmega (406) |
|
|
|
|
BID = 258430
clembra Inventar
     
Beiträge: 5402 Wohnort: Weeze / Niederrhein
|
|
Hi Leute
ich schreibe gerade ein Progamm (Assembler) zum Senden von DMX-Signalen und einigem anderen, ist auch nicht so wichtig.
Device: AT-Mega 162 (weil 2 UART), Frequenz: 8MHz
Wenn ich einen Watchdog-Timer einschalte bricht das Programm immer nach einer je nach Watchdog-Timeout festen Zeit ab.
Watchdog 15ms => Abbruch nach 2048us
Watchdog 30ms => Abbruch nach 4096us
Es ist dabei auch egal, wann ich den Wachhund aktiviere.
Nach dieser Zeit springt der Programm-Counter zurück und die normalerweise fortlaufenden Zähler (Cycles / Stop Watch) werden zurückgesetzt. Er springt jedoch nicht auf 0, sondern auf 1!
Lasse ich den Watchdog aus funktioniert das (bisherige) Programm einwandfrei.
WDR hab ich eingebaut. Ist der einzige Befehl in der Hauptschleife, der Rest ist in Interrupts (bisher insgesamt ca. 200 Words)
Ich hoffe Ihr könnt mir helfen ...
Vielen Dank im voraus
clembra |
|
BID = 258492
Jornbyte Moderator
      
Beiträge: 7340
|
|
Um den Watchdog einzuschalten, muss das Bit "WDE" (Watchdog Enable) gesetzt werden. Bevor dies geschieht, sollte der Watchdog auf jeden Fall durch Aufruf des Befehls "WDR" zurückgesetzt werden, da es andernfalls zu einem vorzeitigen Reset kommen könnte. Zur Abschaltung ist eine
kompliziertere Sequenz notwendig, um eine nicht gewünschte Abschaltung (z.B. durch ein abgestürztes Programm) zu verhindern: Zuerst müssen sowohl "WDTOE" (Watchdog Turn-Off
Enable) wie "WDE" in einem einzelnen Befehl auf 1 gesetzt werden. Anschließend muss innerhalb der nächsten vier Taktzyklen das Bit "WDE" auf Null gesetzt werden.
Weiter Infos stehen im Datenblatt
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten. |
|
BID = 258506
clembra Inventar
     
Beiträge: 5402 Wohnort: Weeze / Niederrhein
|
Zum Starten des Watchdog verwende ich folgenden Text:
Code :
|
im Kopfbereich
.equ watchdog_timeout = 0
vor der Hauptschleife
WDR
LDI temp,(1<<WDCE)
OUT WDTCR,temp
LDI temp,(1<<WDE) | watchdog_timeout
OUT WDTCR,temp
|
|
und in der Endlosschleife wird WDR ausgeführt. Das Datenblatt ist mir ebenfalls bekannt.
Das WDCE (WatchDog Change Enable, heißt so bei dem ATmega) setze ich, da im Safetylevel 1 & 2 nur so die Zeit gesetzt werden kann.
Das Problem tritt nicht an einer bestimmten Zeile auf, sondern nach einer bestimmten Zeit seit dem Start des Simulators, egal wann der Watchdog aktiviert wird.
Ich befürchte daher, dass es ein Fehler im Simulator ist
Hatte von euch schon mal jemand so einen Fehler
|
BID = 258529
Jornbyte Moderator
      
Beiträge: 7340
|
Welche Version hast du (4.11 Build 410 Servicepack 3)?
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.
|
BID = 258540
clembra Inventar
     
Beiträge: 5402 Wohnort: Weeze / Niederrhein
|
Zur Zeit:
AVR Studio 4.10.356
GUI Version 4, 10, 0,345
Platform AVR Simulator Build 1, 0, 0, 13
Part ATmega162 Build 108
Ich lad mir mal die neue Version runter. Ich meld mich, ob sich was geändert hat..
|
BID = 258547
clembra Inventar
     
Beiträge: 5402 Wohnort: Weeze / Niederrhein
|
Also ich hab mir jetzt die neue Version runter geladen:
AVR Studio 4.11.410 Service Pack 3
GUI Version 4, 11, 0, 403
AVR Simulator 1, 0, 0, 29
ATmega162 180
Funktioniert nur leider immer noch nicht.
Wenn ich den richtigen Chip hab lade ich das Programm einfach mal drauf. Dann muss ich den Watchdog in der Simulation eben deaktivieren, auch kein Problem
Wenn es im uP auch nicht geht hab ich ein Problem, aber darum kümmer ich mich erst nächstes Wochenende
Trotzdem Danke
|
|
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 18 Beiträge im Durchschnitt pro Tag heute wurden bisher 6 Beiträge verfasst © x sparkkelsputz Besucher : 187920427 Heute : 14730 Gestern : 19923 Online : 385 24.12.2025 21:33 18 Besucher in den letzten 60 Sekunden alle 3.33 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0461800098419
|