Resetgrund herausfinden

Gast #159897
Lesenswert?
• ▲
▼
Hi.

Ich bastele eben an einer 10-in-1 IR-Fernbedieung. Das Teil
funktioniert bis jetzt Prima, nur mit den Sleepmodes hab ich noch meine
Probleme.

Im Datenblatt des ATM16 steht, dass bei einem Reset alle I/O-Register
gelöscht werden (A propos : Die Register r0-r31 auch ?), und im
Register MCUCSR gleichzeitig ein Bit pro Resetgrund gesetzt wird.
Jetzt hab ich folgendes Problem :

Theoretisch müsste beim Anschalten das PORF (Power-On-Reset-Flag)
gesetzt sein. Wenn ja, soll das Gerät initialisiert werden. Nur :
Anscheinend wird nie der Code dafür ausgeführt (PORF anscheinend nie
gesetzt). Woran kann dies liegen ?

Um Strom zu sparen, wenn nicht gesendet wird, schalte ich den Chip in
den Power-down modus, und wecke ihn immer mit dem Watchdog auf. Wie
kann ich diese Situation Unterscheiden ? WDRF ?
Nach einer bestimmten Zeit soll sich die Fernbedienung komplett
abschalten, und soll dann nur vom INT2 (rising edge) aufgeweckt werden.
Wie kann ich die Aufweckquelle zwischen INT2 und Watchdog sowie Power-On
Unterscheiden ? (Beide starten bei RESET:)

In den Fuses hab ich die Aufweckzeit auf 4K-Zyklen eingestellt ("fast
rising power"). Was hat dies zur Auswirkung, außer dass es mit 4K 16
mal schneller als mit 64K geht ? (3V Batteriebetrieben)

Vielen Dank im Vorraus
Angehängte Dateien:

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.