Forum: Mikrocontroller und Digitale Elektronik timer0, Timeraufruf alle 178µs


von roboterheld (Gast)


Lesenswert?

hallo, ich schnall das nicht so mit dem timer :

ich habe einen atmega32 mit 8mhz und "Prescale = 8" laufen.
der timerinterrupt soll alle 178µs aufgerufen werden.

welcher wert muss denn jetzt in den timer eingetragen werden, damit er 
bei dem wert 255 die 178µs vertan hat.

mfg

von Gast (Gast)


Lesenswert?

Bei 8 MHz Takt und einem prescale von 8 wird der Timer
alle 1 usec angestossen.
Ich schlage einen preset von -178 für einen 178-usec-
Interrupt vor.

Erlaubt der Mega32 auch ein prescale von 16?
Dann würde ich das vorziehen und den Timer mit -89
vorladen. Gibt mehr Spielraum bei der Interrupt-Response-
Zeit mit erneutem Vorladen des Timers innerhalb der
Interrupt-Routine.

von Rolf Magnus (Gast)


Lesenswert?

> Gibt mehr Spielraum bei der Interrupt-Response-Zeit mit erneutem
> Vorladen des Timers innerhalb der Interrupt-Routine.

Den kann man ja auch im CTC-Modus laufen lassen. Dann braucht man sich 
da keine Gedanken zu machen. Was genau meinst du eigentlich? Daß du den 
Timer neu laden würdest, bevor er wieder eins weiterzählt. Dann wäre das 
bei einem Prescaler von 16 schon sehr knapp, selbst wenn man die ISR in 
Assembler implementiert. Bei 8 keine Chance.

von Gast (Gast)


Lesenswert?

Genau darum weise ich darauf hin.

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
Noch kein Account? Hier anmelden.