AVR-Timer Overflow, ich kapiere es nicht

Gast #961343
Hallo,

Folgendes macht mich im Moment völlig fertig, ich schnall es einfach 
nicht:

ATiny26
8Mhz über internal RC-Clock, bestmöglich kalibriert.
Ich nutze Timer-Overflow0. Kein weiterer Int aktiviert.
Der Timer-Vorteiler steht auf 1

In der ISR wird nur ein Portbit an-aus geschaltet, damit ich die 
Frequenz des INT messen kann.

Nun müsste der Timer-Int mit einber Frequenz von 31250Khz kommen.
Denn 8000000/256 = 31250
Klappt einwandfrei, Oszi und Frequenzzähler bestätigen das sogar recht 
genau. Das Signal ist ein wunderbares rechteck ohne Störungen etc.

Nun will ich aber einen Timer-Int mit 40Khz
Also lade in der ISR (direkt als erstes) TCNT0 mit einem Wert vor.
Der Wert ist 56, weil: 256-56=200 und 8000000/200 = 40Khz.

KLAPPT NUR NICHT. Die gemessene Frequenz ist immer ca.36Khz.
40Khz bekomme ich erst ab einem Vorladewert von ca.75
Könnte ich natürlich so lassen, aber rechnerisch stimmt es einfach nicht 
und will wissen warum. Kann mir das mal jemand erklären?

Grüsse
Dennis

Antwort schreiben

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