2019-02-12 04:16 AM
Hi,
I am currently working with an STM32F0 Discovery Board (with CubeMX and HAL). I am trying to shift two PWMs.
The first thing I tried was to program TIM1 and TIM3 as follows:
Channel 1 of TIM 1 is the trigger of the TIM3 PWM and the configuration of this last timer is:
It is rather simple but it works perfectly. I just calculated the pulse_length of the TIM 1- CH1 to have a 10us phase shift between TIM1-CH2 and TIM3-CH1.
However, I tried to do the same thing with TIM15 (because it has CH1 and CH1N PWM generation).
And it does not work like the previous case. The time-shift between TIM1-CH2 and TIM15-CH1 does not match with the programmed value.
Now, the interesting part. Since TIM15 did not work, I programmed TIM2 as well just to check if the GPIO port related to TIM15 was burned or something. Well, if you program TIM2-CH1 as a PWM output, then TIM15-CH1 begins to work properly with a 10us shifted value, as programmed. I do not need to start the channel of TIM2. Just configurate TIM2.
Any clue? Could be a HAL/CubeMX problem?
Solved! Go to Solution.
2019-02-12 04:55 AM
I figured it out!!
The problem is that TIM 1 cannot be master of TIM15.
Thanks and I hope this would be helpful for other users.
2019-02-12 04:55 AM
I figured it out!!
The problem is that TIM 1 cannot be master of TIM15.
Thanks and I hope this would be helpful for other users.