timer0, Timeraufruf alle 178µs

Gast #671932
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
Gast #671972
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.
Gast #671991
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren