ATmega 8 Timer 2 Timing Probleme

Gast #2636946
Servus ihr lieben,

betreibe nen Atmega 8 mit nem externen Quartz und hab da ein Timing 
Problem mit dem Timer 2 er soll im Grunde genommen jede Sekunde einen 
Wert ausgeben aber irgendwie brauch er knapp 2 Sekunden dafür.

Hab schon alles kontrolliert aber komm irgendwie nicht dahinter. 
Vielleicht hat ja einer von euch nen Ratschlag.

Hier mal das Stück Code in welchem der Timer 2 initalisiert wird:
1
//4***Interrupt TIMER2 init*********************************************************************
2
TCNT2 = 0;                  //Anfangszählerstand = 0
3

4
TCCR2 = (1<<CS22) | (1<<CS21) | (1<<CS20);        //Prescaler von 1024 auswählen
5
/*  CPU-Takt = 12.000.000Hz    Prescaler = 1024
6
  Zeit bis overflow = CPU-Takt/Prescaler  =  12.000.000HZ / 1024 = 11.718Hz
7
*/
8

9
OCR2 = 117;                //Zähler zählt bis 117
10
/*  Zeit bis overflow = 11718Hz    Zählwert = 117
11
  Zeit bis Interrupt = 11718Hz / 117 = 100,16Hz ~ 100Hz
12
  1s / 100 = 0,01s = 10ms
13
*/
14

15
TIMSK |= (1<<OCIE2);            //Interrupt aktivieren

und hier die ISR:
1
ISR (TIMER2_COMP_vect)
2
{
3

4
counter_T2 ++;
5

6
if (counter_T2 == 10)    //Jede Sekunde
7

8
{
9

10
lcd();
11

12
counter_T2 = 0;
13

14
}
15

16
}

die Fuses sehen wie folgt aus:

High = 0xDF
Low  = 0xDD
Lock = 0xFF

Die Fuses bereiten mir noch ziehmlich Kopfzerbrechen, gibt ja tausend 
mögliche Einstellungen ;)

Bin über jede Hilfe sehr dankbar

Gruß Andi
Gast #2636958
Hi

Du musst mit den WGM-Bits CTC einstellen. Jetzt läuft dein Timer einfach 
bis $FF und fängt dann wieder von vorn an. Dazwischen kommt dein 
Interrupt.

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.