Forum: Mikrocontroller und Digitale Elektronik Timer Interrupt trotz vergebener timer


von Andre (Gast)


Lesenswert?

Ich betreibe einen AtMega16 und nutze alle seine 4 Timer für PWM 
Geschichten .
Nun wollte ich allerdings noch einen Interrupt jede Sekunde erzeugen 
damit ich meine Farbwechselfunktion für die LEDs bedienen kann .
Der einzige Weg der mir einfiele wäre zb das Overflow Interrupt von 
einem der Timer .
Soweit ich weiß wird dieses bei PWM aber nicht ausgelöst oder ?.
Ich nutze bei allen 4 Timern übrigens Phase Correct PWM und hab ein 
11059200Hz Quarz .
Hat irgendjemand eine Idee wie ich das anstelle ?

von bitte löschen (Gast)


Lesenswert?

Welche Timer-Interrupts ausgelöst werden, ist nicht vom Wave Generation 
Mode abhängig, sondern vom TIMSK-Register.

von Tobi (Gast)


Lesenswert?

Und icch dachte, der Mega 16 hat nur 3 Timer...

Aber sei's drum. Du kannst serwohl noch den OVL Interrupt nutzen.

von Andre (Gast)


Lesenswert?

Klar mit den 3 Timern stimmt schon .Hatte mich da jetzt etwas blöd 
ausgedrückt .Meinte mehr meine Compare Outputs davon habe ich 4 :P .

Ok ich versuche mal dennoch einen Interrupt für den Farbwechsel zu 
nutzen

von Hc Z. (mizch)


Lesenswert?

Andre schrieb:
> Der einzige Weg der mir einfiele wäre zb das Overflow Interrupt von
> einem der Timer .
> Soweit ich weiß wird dieses bei PWM aber nicht ausgelöst oder ?.

Dann schauen wir doch einfach in der Beschreibung des Phase Correct 
Mode, z.B. beim Timer 1, nach:
1
The Timer/Counter Overflow Flag (TOV1) is set each time the counter reaches BOTTOM. When
2
either OCR1A or ICR1 is used for defining the TOP value, the OC1A or ICF1 Flag is set accord-
3
ingly at the same timer clock cycle as the OCR1x Registers are updated with the double buffer
4
value (at TOP). The Interrupt Flags can be used to generate an interrupt each time the counter
5
reaches the TOP or BOTTOM value.
Du hast also sogar die Wahl, ob Du die Interrupts oben und/oder unten 
haben möchtest.

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.