ATMega16 - 16BitTimer - Verständnisproblem

Gast #589596
Lesenswert?
• ▲
▼
Hallo allerseits!
Ich experimentiere hier gerade mit dem 16-Bit Timer und einem 
LED-Lauflicht herum.
Leider scheint mein Verständnis von diesem Timer vollkommen falsch zu 
sein.

Zu meiner Schaltung: Am ATMega16 hängt ein 11,0592MHZ Quarz (wie in den 
meisten Tutorials) und ein LED Lauflicht mit 8 LEDs.

In meinem Programm habe ich den Timer nun mit einem Prescaler von 256 
versehen (d.h. Bit CS12 gesetzt).
Das OutputCompare Register steht zur Zeit auf "OCR1A = 0x0002".

Das ganze löst dann ein Interrupt aus, welches wiederum einen Zähler 
erhöht. Wenn der bei 1000 angekommen ist, schalte ich das Lauflicht um 1 
weiter.
Was ich also gerne hätte ist, dass das OutputCompareMatch genau jede 
Millisekunde ausgelöst wird, so dass das Licht jede Sekunde um 1 
weitergeht.


Allerdings läuft das ganze UNENDLICH langsam. Anstatt jede Sekunde 
dauert es fast 20 Sekunden, bis die LED weiterspringt. Ich habe auch 
schon mit allen möglichen Werten für das CompareRegister und den 
Prescaler rumprobiert, aber es will einfach nicht.

Meine Rechnung:
Wenn der Quarz 11,0592MHZ hat, und der Prescaler bei 256 liegt, läuft 
das ganze noch mit 43.200HZ.
Da mein Compare Register auf 2 steht, müsste eigentlich 22.000 pro 
Sekunde "interrupted" werden, richtig (das ergäbe zwar keinen 
MilliSekundentakt, aber trotzdem was ganz schnelles)?
Aber warum ist das ganze dann soooooo langsam?
Gast #589643
Lesenswert?
• ▲
▼
Hast du den Takt für den Timer auf den 11.irgentwas Mhz Takt gelegt? 
Wenn der nämlich noch auf einen anderen langsameren Takt wie z.B. 
systemclock läuft ist halt alles viel zu langsam. Ich weiss nicht wie 
das bei den AVRs geht. Aber irgentwas mit Clock select oder so.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.