Timer 0-2 laufen mit falschem prescaler

OP #2289322
Hallo, ich möchte mit einem ATMEGA168 6 verschiedene PWM-Signale mit 
möglichst hoher Frequenz ausgeben. (daher: 20 MHz Quarz)
Also habe ich bei allen Timern einen prescaler von 1 eingestellt und zum 
Testen ein 50% PWM-Signal ausgegeben.
Leider messe ich mit einem Oszilloskop immer eine 8-mal kleinere 
PWM-Frequenz als errechnet!
fPWM = fIO / (N * 256)     (N = prescaler)
fPWM = 20MHz / 256 = 78 kHz
gemessene PWM-Frequenz: etwa 10 kHz

Den Quarz und ein Referenz-Signal habe ich problemlos gemessen - die 
Frequenzen passen.

Parallel zur PWM-Erzeugung benutze ich den Timer1-Überlauf um einen 
Interrupt auszulösen - auch dieser wird 8-mal langsamer ausgelöst.

Im Anhang: die Timer-Initialisierungen
Angehängte Dateien:
OP
Perfekt - genau das war der Fehler. Wusste nicht einmal, dass diese Fuse 
existiert...

An alle mit dem gleichen Problem:
Laut Datenblatt ist diese bei Auslieferung bereits gesetzt.

Low Fuse Byte: CKDIV8
Bit no.: 7
Description: Divide clock by 8
Default value: 0 (programmed)
Moderator Persönliche Seite
Erik H. schrieb:
> Perfekt - genau das war der Fehler. Wusste nicht einmal, dass diese Fuse
> existiert...

http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_fuses

CKDIV8 muss man übrigens nicht zwingend umfusen.  Diese Fuse bewirkt
nur, dass der clock prescaler auf 1:8 initialisiert wird, den kann
man aber problemlos auch zur Laufzeit auf 1:1 umschalten.

Antwort schreiben

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