Timer2 initialisieren

Gast #2621977
Hallo,
Ich möchte Timer2 so initialisieren dass ich nach jedem Überlauf(100µs) 
einen Sendepuls erzeugen. Ich nehme den Prescaler 256 aber irgendwie 
klappts nicht weil ich wahrscheinlich entweder den falschen 
Prescaler(256) nehme oder einen Startwert dafür berechnen muss.

Also die Frage ist: wie wird der Startwert berechnet?

Controller: mega328p
F_CPU = 16Mhz


Timer2-Funktion:
void Timer2Init(void)
{
        TCCR2B = (1<<CS22)|(1<<CS11) ;
        TIMSK2 = 1<<TOIE2 ;

}

Danke.

Gruß
#2622019
Robert_1 schrieb:

> Also die Frage ist: wie wird der Startwert berechnet?

spess53 hats ja schon gesagt: CTC ist das was du suchst.

Aber um auch auf die Frage ein wenig einzugehen.

Deine Frage ist auf dem Niveau von:
Wenn ich präzise alle 2 Minuten 30 Sekunden "Aua" schreie, wie oft muss 
ich dann "Aua" schreien, bis 1 Stunde um ist.

That's it. Das ist im Prinzip die Berechnung die du machen musst. Und 
das ist so trivial, dass jeder sie hinkriegt, wenn er nur gewillt ist, 
ein bischen zu rechnen und sich überlegt, was so ein Timer eigentlich 
macht und wie er arbeitet.

FAQ ganz unten, letztes Kapitel
Gast #2622034
Hallo,

>Welcher Startwert?
Ich meine, der Startwert so zu wählen dass ich in der ISR einen Puls 
nach jedem Überlauf erzeugen kann.

ISR(....)
{

PORTB = ~PORTB;

TCNT2= 0
}
>Der Timer kann CTC

Okay bin nicht drauf gekommen weil ich das einfach nicht verstehe:-( was 
soll ich im Code dann ändern damit der Timer in dieses Modus betrieben 
wird?

Und wenn man den timer 2 in Normal Modus betreiben will, sollte man 
einen Startwert berechnen oder?

Danke
Gruß
Gast #2622046
Hi

>Okay bin nicht drauf gekommen weil ich das einfach nicht verstehe:-( was
>soll ich im Code dann ändern damit der Timer in dieses Modus betrieben
>wird?

Datanblatt Timer2 Register Description lesen. Stichwort WGM-Bits.

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.