Hallo,
ich arbeite mit einem STM32F103ZG (STM3210E-EVAL board) und möchte den
TIM8 im PWM Mode für motor control verwenden. Ich habe ein PWM-Beispiel
aus der std. peripheral lib entsprechend für den TIM8 angepasst, sodass
er im PWM mode arbeitet, d.h. ich sehe das korrekte Signal mit dem Oszi.
Das funktioniert aber nur, wenn ich bei der Initialisierung
1 | TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
|
verwende.
Später kann ich den Timer mode irgendwie nicht mehr ändern. D.h. zum
einen deaktiviert
1 | TIM_CCxCmd(TIM8, TIM_Channel_1, TIM_CCx_Disable);
|
den Channel nicht --> ich sehe weiterhin dsa PWM Signal.
Andererseits geht es auch nicht, wenn ich den Timer mit
1 | TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing;
|
initialisiere, und später versuche in PWM mode zu schalten:
1 | TIM_SelectOCxM(TIM8, TIM_Channel_1, TIM_OCMode_PWM1);
|
2 | TIM_CCxCmd(TIM8, TIM_Channel_1, TIM_CCx_Enable);
|
Mein Gesamtprojekt ist momentan an das BLDC Beispiel von den
mikrocontroller.net Seiten angelehnt, d.h. der Code ist mit diesem
praktisch identisch. Fehlt dort evtl. noch etwas, was mein Problem
auslöst?
Danke im Voraus!
Gruß
Sebastian