Anfänger-Verständnissfrage,TCNT0,Atmega8

OP #2626167
Hallo!

Ich versuche den Timer 2 schneller laufen zu lassen indem ich in TCNT0 
etwas (z.B. 200) hineinschreibe so dass eben nicht alle 255 Schritte 
durchlaufen werden.

Ich habe herumprobiert und ich komme zu keinem Ergebniss.

1)Gehe ich recht in der Annahme das wenn ich z.B. 200 in TCNT0 schreibe 
der Counter nur noch 55 Schritte zählt?

2) Wo muss das stehen? Ich habe es im main und in der ISR probiert ohne 
Ergebniss.

Mein Programm sieht im Moment so aus:

#define F_CPU 8000000

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

ISR (TIMER0_OVF_vect)
{
  PORTB=0xFF;
}



int main(void)
{
  DDRB=0xFF;
  PORTB=0xFF;
  TCCR0=(1<<CS00);          //Timer 0 konfig
  TIMSK=(1<<TOIE0);          //Overflow interrupt an
  sei();                //Interrupts global an


    while(1)
    {
    PORTB=0x00;
    }
}

Die Manipulation von TCNT0 habe ich nicht mehr drin stehen weil mir wie 
gesagt nicht klar ist was ich falsch mache.

Vielen Dank!
Gast
Hi

Hat es sich immer noch nicht herumgesprochen, das man so etwas mit CTC 
macht?

Mit den WGM-Bits dem CTC-Mode konfigurieren. OCR1A mit dem passenden 
Wert laden. Fertig.

MfG Spess
Timer0 unterstützt afaik beim ATmega8 kein PWM. Und auch keine 
timer-compare operation. Ich find im TIFR vom Mega 8 jetzt auch kein 
Flag das einen OC-interrupt für Timer0 darstellen würde.

Sofern Timer2 noch verfügbar ist, mach's mit dem. Ist auch 8bit und der 
kann's. Timer1 ginge auch, ist aber von den Optionen her etwas 
überladen, für'n Anfang würd ich den T2 nehmen.

Dazu setzt Du im Register TCCR2 das WGM21 Bit für CTC (und mit CS-Flags 
den Prescaler), OCR2 auf den Wert bis zu dem er zählen soll und in TIFR 
das OCIE2 bit.

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.