www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer2 im CTC Modus zählt nicht bis zum Vergleichswert


Autor: felix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich benutzte Timer2 eines AtMega8 im CTC Modus.
Im Moment lasse ich das Programm nur im Debuggmodus laufen.
Mein Problem ist, dass der Zähler TCNT2 nicht bis zum Vergleichswert 
OCR2 läuft, sondern der Interrupt schon früher ausgelöst wird. Dieser 
Punkt scheint allerdings auch nicht konstant zu sein (wenn OCR2 gleich 
0xff ist passiert der Interrupt bei TCNT2 = 0x41(ca.); bei OCR2 = 0x40 
--> Interrupt bei TCNT2 = 0x19(ca.)).

Ich hoffe jemand versteht mein Problem und hat eine Antwort;)

Vielen Dank,

Felix

Die "problemnahen" Teile des Programms:

  ldi temp, 0x40
  out OCR2, temp

  ldi temp, (1<<WGM21)|(0<<CS22)|(0<<CS21)|(1<<CS20)
  out TCCR2, temp

  ldi temp, (1<<OCIE2)
  out TIMSK, temp

  sei

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.