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
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.
> 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.
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.