Timer1 funktioniert nicht?

Gast #134908
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
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.