"Standard" Initialisierung von Registern

Gast #1616433
Lesenswert?
• ▲
▼
Hallo,

ich beschäftige mich gerade mit den ersten Gehversuchen von (AVR) 
Mikrocontrollern.
Nun frage ich mich, welchen Wert Register haben, die nicht explizit 
initialisiert sind. Sind die bits in den Registern automatisch gelöscht?
Konrektes Beispiel:
Ich möchte einen Timer starten im Compare Match Modus (Atmega 8, Timer1 
16-bit).
Hierzu müssen im TCCR1A Register COM1A0 und COM1A1 gelöscht sein. Muss 
ich diese bei der Initialiisierung explizit löschen oder sind diese 
bereits 0?
Gleiches gilt für den Timer selbst. Muss ich schreiben TCNT1=0 oder 
startet der Timer automatisch bei 0?

Danke.

Grüßchen
Steffi
Gast #1616436
Lesenswert?
• ▲
▼
Hallo Steffi,

im Datenblatt des µC findest Du die Register einzeln beschrieben. Zu 
jedem ist erklärt, welche Funktion die einzelnen Bits haben. Darunter 
steht der "initial value", der meist 0 ist.
Gast #1616454
Lesenswert?
• ▲
▼
Schade, wollte gerade den Screenshot mit "roter Einrahmung" absenden ;-)

Ach ja, noch als Hinweis:

Wenn Du den Controller nicht über einen Reset zurücksetzt, sondern z.B.
durch eine Sprung auf Adresse 0 (Startadresse), dann werden die 
Initialen Werte nicht wiederhergestellt.

Auch wenn man von einem Bootloader (der z.B. einen Timer oder UART 
initialisiert hat) in das Hauptprogramm springt, dann muss man den
Urzustand der Register vor dem Sprung selber wiederherstellen. Vor allem
wenn die eigentliche Applikation bei der Initialisierung von den 
Defaultwerten ausgeht! (Sollte bei einem "sauberen" Programmierstil 
eigentlich nicht sein....)

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.