Problem mit Timer2 und Uhrequarz

Gast #165721
Hallo!
Mein C Code schaut so aus: ( Verwendet wird ein ATMega8L8 )

#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>

uint8_t foo;

SIGNAL (SIG_OUTPUT_COMPARE2A)
{
        foo++;
        if ( foo == 255 )
               {PORTB--;foo=0;}
        if ( PORTB == 0 )
               PORTB = 0xff;
}

int main(void){
        ASSR  |= (1<<AS2);
        TCCR2 |= (1<<CS22);
        TIMSK |= (1<<OCIE2);
        TIFR  |= (1<<OCF2);
        OCR2 = 230;
        TCNT2  = 0x00;
        DDRB=0xff;
        PORTB=0xff;
        foo=0;
        sei();

}

An TOSC1/2 hängt ein 0,032768MhZ Uhrenquarz und CKLOPT Fuse ist
aktiviert. Bewirken soll der Code, dass von PORTB nach einer gewissen
Zeit immer 1 abgezogen wird. Das Uhrenquarz ist wie in Fig11 im atmega
8 Datenblatt angeschlossen. Als System Clock verwende ich den
Calibrated Internal RC Oscillator mit 4MhZ. Geb ich der Schaltung strom
funktioniert auch alles, aber es funktioniert auch, wenn das Uhrenquarz
nicht angeschlossen ist :-) . Deshalb denk ich, dass die Timer/Couter
Clock Source des Timer2 nicht das Uhrenquarz ist. Ich hab schon im
Datenblatt nachgeschaut ob ich irgendwelche Register falsch gesetzt
habe, habe aber nichts gefunden.

Danke im Voraus!

Ralf
Gast
Ich hab anscheinend deinen Code richtig interpretiert. Es scheint jetzt
richtig zu funktionieren. Ich hab mal den µc 10 Minuten mitgemessen und
es gibt "keine" Abweichungen.

Danke!

Ralf

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.