Timer1 funktioniert nicht?

Gast #134908
Lesenswert?
• ▲
▼
Hi,
ich hab ein kleine Problem mit meinem Timer 1. Ich will einfach
sekunden zählen lassen und diese über LEDs anzeigen. Im
AVR-Studio-Simulator funktionierts, da zählt er die Sekunden hoch, aber
im AVR nicht. Ich hab nen 8515er und wenn ichs mit dem Timer0 mache,
dann funktionierts. Ich muss aber den Timer1 dazu nehmen, da ich später
zwei unabhängige Timer brauche. Kann es sein, dass im AVR der Timer1
defekt ist und nur der TIM0 funktioniert? Oder hab ich im Code was
vergessen, was das Studio ignoriert, der AVR aber nicht?

thx für Antworten
hundvdf
Angehängte Dateien:
Gast #134909
Lesenswert?
• ▲
▼
Dein Fehler steckt hier:

loop1:
  in temp,TCNT1H

Du mußt immer zuerst das lowbyte lesen und anschliessend das high byte,
sonst liest du immer den gleichen alten Wert aus dem internen
temporaeren Register.
Richtig also:
loop1:
  in temp,TCNT1L
  in temp,TCNT1H

Dieses Verhalten kann der Simulator nicht nachstellen und simuliert die
heile Welt, aber eben nicht das was im AVR wirklich passiert.

Auszug aus dem Datenblatt:
"TCNT1 Timer/Counter1 Read:
When the CPU reads the low byte TCNT1L, the data of the low byte TCNT1L
is sent to the CPU and the data of the high
byte TCNT1H is placed in the TEMP register. When the CPU reads the data
in the high byte TCNT1H, the CPU receives
the data in the TEMP register. Consequently, the low byte TCNT1L must
be accessed first for a full 16-bit register read
operation."

ciao
Remo

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.