Gast
#45519
Hi Leuts, ich habe hier mal eine grundsaetzliche Frage zu den AVR-Timern, genauer dem Timer 0. Vielleicht bin ich ja zu doof den Taschenrechner zu bedienen, aber ich versuche einfach nur alle 0.5 ms einen Overflow Interrupt zu erzeugen. Als hardware setze ich das STK 500 mit einer eingestellten Taktfrequenz von 3.69 MHz ein. Ich moechte einen Vorteiler von 8 und dabei 231 Counts zaehlen, das muesste doch dann alle 0.500 ms einen Overflow erzeugen Beim Initialisieren mache ich folgendes: ldi TIME, 256-231 out TCNT0, TIME ldi TEMP, (1<<TOIE0) out TIMSK, TEMP ldi TEMP, 2 out TCCR0, TEMP In der Interruptroutine zaehle ich dann nochmals bis 2000 und toggle dann eine LED. ; Counter neu laden out TCNT0, TIME dec Count cp Count, zero brne n1 ldi Count, 2000 ; Toggle LED n1: reti 2000 * 0.5 ms = 1 S Aber die LED flackert so schnell, dass dies kaum sichtbar ist... Vielleicht kann mir mal einer sagen wo ich da einen Denkfehler habe. Danke Greetings Karlheinz