Hallo, ich möchte hier einfach eine LED im nahezu Sekundentakt blinken lassen. CPU Frequenz : 16 000 000 prescaler : 1024 am 8 bit Timer : 256 Also 16000000/1024/256 = 61,04 Take pro Minute Den OCR Wert lege ich auf (256 - 61) 195 fest. In der ISR toggelt er die LED. ABER: leider viel zu schnell. Wo ist mein Gedankenfehler ?? Vielen Dank für die Hilfe
@ Thomas (Gast) >Also 16000000/1024/256 = 61,04 Take pro Minute Richtig, das ist die Interruptfrequenz. >Den OCR Wert lege ich auf (256 - 61) 195 fest. Das verringert aber nicht die Frequenz sondern erhöht sie! >Wo ist mein Gedankenfehler ?? So niedrige Frequenzen bekommt man direkt nicht hin, da macht man per Software-Teiler in der ISR. Dort zählt man bis 61 und toggelt dann, siehe Interrupt.
>Den OCR Wert lege ich auf (256 - 61) 195 fest. >Das verringert aber nicht die Frequenz sondern erhöht sie! Falk Brunner schrieb: >>Den OCR Wert lege ich auf (256 - 61) 195 fest. > > Das verringert aber nicht die Frequenz sondern erhöht sie! AHHH na klar !! OK also die Softwarelösung ! Danke
Thomas schrieb: > OK also die Softwarelösung ! Wieso, passt doch halbwegs? Einfach bei jedem Übelauf blinken lassen.
Ich mach jeweils mit dem Timer0 einen Tick, dh Interrupt, der alle 10ms kommt. Mit dem muesste man dann je auf 50 zehlen fuer eine Periode von 1 sekunde
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.