Forum: Mikrocontroller und Digitale Elektronik STM32: PWM mit TIM2.5 geht, TIM1 nicht


von Sven (Gast)


Lesenswert?

Hallo,

möchte gern mit dem STM32 PWMs erzeugen, mit den Timern 2 bis 5 klappt 
es wie gewünscht.

Wenn ich dasselbe nun mit dem Advanced Timer 1 versuche, kriege ich es 
nicht hin.

Ich habe die Clocks für TIM1 und den IO Port aktiviert, Pins sind als 
alternate function push pull konfiguriert.

Hat jemand ein PWM Beispiel für TIM1 oder einen Tipp? Egal ob über die 
ST Lib oder direkte Portzugriffe...

Danke!

von avrGerd (Gast)


Lesenswert?

Hallo Sven,

das kommt mir bekannt vor.

Beim STM8 hatte ich mal das gleiche Problem.
Dort musste ich im Break register (TIM1_BKR) noch ein Bit entsprechend 
setzen.

Welches das war muss ich morgen auf Arbeit mal nachsehen, habe den Code 
nicht hier. Evtl. war es MOE.

Kannst das ja mal probieren.


Gruss,
avrGerd

von Sven (Gast)


Lesenswert?

Super, besten Dank.
Beim STM32 heisst das Register TIM1->BDTR und das Bit MOE (Master Output 
Enable). Mann, ich hab das Datenblatt gewälzt, aber trotzdem 
übersehen...

von avrGerd (Gast)


Lesenswert?

funtzt es jetzt?

avrGerd

von avrGerd (Gast)


Lesenswert?

Hi Sven,

beim STM8 musste ich folgendes machen:

TIM1->BKR |= TIM1_BKR_AOE;        // set automatic output enable


avrGerd

von Mike R. (thesealion)


Lesenswert?

Bei der ST Lib ist der Befehl
1
// TIM1 Main Output Enable 
2
TIM_CtrlPWMOutputs(TIM1, ENABLE);

hab nur gerade keine IDE hier, um zu schauen welches Register da gesetzt 
wird.
(Und per Hand zu suchen bin ich zu faul :)

von Sven (Gast)


Lesenswert?

Ja, nun tut er wunderbar.
Hast mir sehr weitergeholfen, danke Gerd!
Beim STM32 gibt es auch ein AOE Bit, das hab ich noch gar nicht 
versucht. Mit dem MOE funktioniert es jedenfalls.

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.