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?
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.
Achso mit programmierbarer Logik hat das hier nicht viel zu tun
taktet der Controller denn wirklich per Quarz oder rennt Der noch intern (so wie er geliefert wurde) mit 1MHz vor sich hin? bye Frank
Ich habe tatsächlich das falsche Forum erwischt :-( SORRY Werde den Beitrag "rüberschieben..."
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.