Problem Timer 2 asynchron

Gast #171665
Hi Leute,

seit langem mal wieder ne Frage.

Hab folgende Einstellung für den Timer 2 beim ATmega8:

Timer2_Init:

   ldi temp1, (7<<CS20)|(1<<WGM21)          ;set Prescaler to 1024,
enable CTC
   out TCCR2,temp1
   ldi temp1, 183                           ;set Output Compare Value
   out OCR2,temp1
   ldi temp1, (1<<AS2)                      ;activate Clockcrystal
(32,768kHz)
   out ASSR,temp1
   ldi temp1, (1<<OCIE2)                    ;set Output Compare Match
IRQ
   out TIMSK,temp1

ret

Dabei ist ein 32,768 kHz Quarz an den entsprechenden Pins angeschlossen
und funktioniert auch. Ich will damit einen Sekundentakt generieren. Nur
klappt das irgendwie nicht.

Prescaler steht auf 1024, d.h. dass ich das Compare Match Register mit
32 laden muss, um auf 1 Sekunde zu kommen. (32,768 kHz / 1024 = 32)
Trotz allem muss ich, wie man oben sieht, den Compare-Wert wesentlich
höher wählen.

Warum? Hab ich da nen Denkfehler drin?


Gruß, ERDI - Soft.

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.