Watchdog auf xMega deaktivieren

OP #2316432
Lesenswert?
• ▲
▼
Hallo, Leute!

Ich habe hier 'ne Platine mit einem ATxMega128A1.
Nachdem ich geschafft habe, den Clock zu setzen kämpfe ich gegen den 
Watchdog...

Die Leute, die die Platine erstellt haben, haben ein Jumper vorgesehen, 
mit der ich den PIN WDI_DIS mit GND verbinden kann.
Ist dieses PIN mit GND verbunden, funktioniert alles, ansonsten wird der 
xMega ständig ein Reset machen.

Mir ist gesagt worden, daß dieses PIN den internen Watchdog deaktiviert.
Ich möchte es aber per Programm es machen, deswegen habe ich folgendes 
Code geschrieben:
1
CCP = CCP_IOREG_gc;
2
WDT.CTRL = 0b00000001;
3
while((WDT.STATUS & WDT_SYNCBUSY_bm));

Leider funktioniert es nicht...
Was mache ich denn jetzt falsch?

Danke
Luca Bertoncello
#2316951
Lesenswert?
• ▲
▼
Hi Luca,

das Problem wird sicher in Verbindung mit dem CCP "Schreibschutz" 
stehen. Nach dem setzen vom CCP-Register, hast du 4 Clocks Zeit um den 
Wert im WDT.CTRL-Register zú ändern. Nun kannst du zwei verschiedene 
Wege gehen.

1. die Optimierung vom GCC erhöhen -> lässt keine direkte Aussage zu in 
welcher Zeit die Zeilen abgearbeitet werden !

2. Inline ASM -> den Assemblercode solltest du so proggen, das du die 4 
CPU-CLK hast um das CTRL-Register zu schreiben


MFG

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.