16bit Timerwert in Integer speichern

Gast #1569885
Lesenswert?
• ▲
▼
Hallo,

Habe grade ein kleines Problem mit der Byteverarbeitung von 16bit 
timerwerte.

Und zwar kann ich ja beim 16bit Timer (Timer1) des Mega8 die Timerwerte 
direkt aus TCNT1L und TCNT1H lesen. Doch wie bekomm ich diese jetzt 
zusammengefasst in eine Integer variable ?

Dies wird denk ich nicht gehen oder?:

zeitwert  = TCNT1L;
zeitwert |= TCNT1H<<8;

da beim zweiten der Lowbyte mit nach links gesetzt wird oder ?
Muss ich wirklich noch eine weitere Variable zum zwischenspeichern 
einfügen?
Und laut dem Wiki hier soll unbedingt zuerst der Lowbyte und dann der 
Highbyte ausgelesen werden! (Warum eigentlich ?)
Irgendwie steh ich da grad voll auf dem Schlauch.

Danke schon mal im Voraus

Gruß Tobias
Gast #1569978
Lesenswert?
• ▲
▼
> Dies wird denk ich nicht gehen oder?:
> zeitwert  = TCNT1L;
> zeitwert |= TCNT1H<<8;
>
> da beim zweiten der Lowbyte mit nach links gesetzt wird oder ?

TCNT1H hat nur ein Low-Byte, trotz "H" im  Namen.  Durch das Verschieben 
wird daraus erst ein High-Byte.

> Und laut dem Wiki hier soll unbedingt zuerst der Lowbyte und dann der
> Highbyte ausgelesen werden! (Warum eigentlich ?)

Weil das Timer-Register "double buffered" ist und das Lesen des 
High-Byte dem Prozessor signalisiert, daß man mit dem Lesen fertig ist. 
Wenn man es anders rum macht, bekommt man unter Umständen Werte, die 
eigentich nicht zusammengehören, weil der Timer ja weiterläuft, während 
man ihn ausliest.

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.