mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Watchdog


Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

benutze als µC den Tiny13. Ich moechte gerne soviel Stromsparen wie es
geht deshalb wollte ich den µC in Powerdown Modus schicken. Nach einer
vordefinierten Zeit soll der µC wieder erwachen und ein paar Sachen
erledigen und dann wieder in Powerdown Modus gehen.

Entweder verstehe ich den Watchdog falsch oder ich mache beim
initalisieren ein Fehler. Eigentlich sollte die LED jetzt alle 8
Sekunden an und aus gehen. Leider blinkt sie viel schneller somit
scheint der Watchdog garnicht auf 8 Sekunden initalisiert zuwerden.
Nach dem Reset steht der Watchdog standardmaessig ja auf 16ms. Mein
Testprogramm braucht aber nicht laenger als 100µs um den Watchdog neu
zuinitalisieren.

Ich hoffe jemand kann mir auf Spruenge helfen.

Mfg

Dirk

start:
rcall wtd_on
sei
main:
sbi pinb,led ; LED toggeln
ldi temp1, (1<<SE) | (1<<SM1) ; Powerdown and Sleep Mode enable
out mcucr, temp1
sleep
rjmp main

Wtd_on:
  in  temp1,WDTCR
  sbr  temp1, 1<<WDTIE | 1<<WDE | 1<<WDP3 | 1<<WDP0 ;8.0s
  out  WDTCR,temp1
ret

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stack?

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

@Crazy horse: Stack hab ich initalisiert.

Problem war das man auch das WDCE (WdtChangebit) schreiben muss.
Das funktionerende Listing:

Wtd_on:
  cli
  in r16, WDTCR
  ori r16, (1<<WDCE) | (1<<WDE)
  out WDTCR, r16
  ldi r16, (1<<WDE) | (1<<WDP3) | (1<<WDP0)
  out WDTCR, r16
  sei
ret

Wtd_off:
  in  temp1,WDTCR
  sbr  temp1, 1<<WDTIE | 1<<WDE
  out  WDTCR,temp1
  cbr  temp1, 1<<WDE
  out  WDTCR,temp1
ret

Mfg

Dirk

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.