Luminary LM3S8962 PWM Interrupt Verständnis

OP #1793961
Lesenswert?

Hallo!

Bin gerade dabei die PWM Einheit des LM3S8962 auf dem Demoboard in 
Betrieb zu nehmen und komme mit der Interrupt nicht klar.

Frequenz des PWM0 Generator ist Sysclock/8 -> 50000000/8 = 6,25MHz 
(160ns / tick)
Periode 1kHz (1ms)
Pos. Pulsweite 40% (400µs)
Interrupt enable für GEN0 count zero

Der PWM wird korrekt wie von mir eingestellt ausgegeben. Daher gehe ich 
davon aus dass meine Clock Einstellungen korrekt sind.

Jetzt wollte ich im Interrupt Handler einfach eine Variable runter 
zählen und den PWM wieder stoppen zur Erzeugung eines Peep-Tons beim 
Touch auf mein Display. Meine Überlegung war: Periode des PWMs ist 1ms, 
daher Variable mit 500 runter zählen lassen -> Peepton für 500ms.
Dieser Ton war aber immer recht kurz, deshalb habe ich zum Testen einen 
Port bei jedem Aufruf des Interrupt Handlers toggeln lassen. Dabei habe 
ich festgestellt dass der Handler für PWM0Gen alle 2,8µs aufgerufen wird 
und nicht alle 1ms wie die eingestellte Periodendauer meines PWMs. Hab 
schon weiß der Geier ausprobiert, aber ich versteh einfach nicht wieso 
der Handler so oft aufgerufen wird. Je nach dem welche Interrupts ich im 
Hanlder lösche verändert sich auch die Zeit des aufrufens, also die 
2,8µs. Kann mir hier vielleicht jemand helfen?

Danke!
Gruß Andi
Angehängte Dateien:

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