Hallo, ich wollte mal fragen, wie ihr mit Timer0 und 16mhz quarz eine abtastrate von 10ms erzeugen würdet. Ich habe mir überlegt, dass man bei einem prescaler von 256 ca. 245,1/s einen Timer überlauf hat.... Irgendwie kommen aber immer krumme Zahlen raus. Was verwendet ihr um möglichst genau 10ms zu kommen?
(Klingt nach AVR) Du kannst ihn im CTC-Modus betreiben und OCR0 auf 250 setzen, dann hast du 250 Hz als Frequenz für den TIMER0_COMPARE_vect. Davon zählst du 25 Stück in der ISR ab, bevor du das Event auswertest.
Jörg Wunsch wrote: > (Klingt nach AVR) Denke ich auch. > Du kannst ihn im CTC-Modus betreiben und OCR0 auf 250 setzen, Naja, genaugenommen auf 249...
Gast
#922652
Ja, es geht um einen Mega8. CTC gibts aber doch nicht für Timer 0, oder?
Gast
#922925
Hallo Oliver, mit Prescale 64 und Timernachladung TCNT0 0x06 erhältst du genau 1 ms. Du must ja nicht von 0 bis 255(256) zählen! Gruß Hans
Alles klar, danke! Sag mal hast du das so "im kopf" gemacht oder nutzt du für soetwas ein programm?
Gast
#922949
Hallo Oliver, das war noch Kopfarbeit! 1 ms=1000 us wären 16000 Taktzyklen 16000 geht nicht also 16 in den Vorteiler bleibt 1000 1000 geht nicht also 4 in den Vorteiler bleibt 250 Test 250 geht in ein Byte 4*16=64 ist als Vorteiler im Datenblatt. also Prescale 64 und nachladen 256-250=6 gruß Hans
Ok, dann weiß ich ja jetzt, was anzuwenden ist um soetwas zu machen :)
Oliver D. wrote: > Ja, es geht um einen Mega8. > CTC gibts aber doch nicht für Timer 0, oder? Beim ATmega8 noch nicht. Bei allen neueren AVRs schon. Kannst ihn ja ggf. durch einen ATmega88 ersetzen. Das mit dem Nachladen in der ISR hat immer den Nachteil von Jitter, je nachdem, wie hoch die restliche Interruptbelastung noch ist.
Gast
#923166
>Das mit dem Nachladen in der ISR hat immer den Nachteil von Jitter, >je nachdem, wie hoch die restliche Interruptbelastung noch ist. Oder, ob im Programm mit Interruptsperren gearbeitet wird!
Gast
#923184
Jitter? Sorry, aber bin noch nicht so lange im Geschäft ;)
uCWorld wrote: > Jitter? http://de.wikipedia.org/wiki/Jitter
Gast
#923242
Aaaaah 1!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.