Forum: Mikrocontroller und Digitale Elektronik Luminary LM3S8962 PWM Interrupt Verständnis


von Andi H. (andi_h)


Angehängte Dateien:

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

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.