cancel
Showing results for 
Search instead for 
Did you mean: 

Recommendation for stopping PWM signal

NoviceStm32
Associate II

Looking for a recommendation for generating a discrete number of pulses from PWM, for the example below i setup timer 1 to generate PWM and timer 2 with input capture interrupt to count the pulses, I did this with both rising and falling edge and both resulted with slight errors. I attempted to create a 3-pulse burst, but as can be seen it doesn't quite work. Any suggestions on how I can implement this better? 

 

After 3 pulses on the interrupt, I stop PWM on channel 1.

NoviceStm32_1-1726499192862.png

 

Rising Edge mode Tim2 interrupt mode, 3 full pulses generated plus a 4th partial. 

DS1Z_QuickPrint2.png

DS1Z_QuickPrint3.png

Rising Edge mode Tim2 interrupt mode, only 2 full pulses generated.

DS1Z_QuickPrint4.png

DS1Z_QuickPrint5.png

1 ACCEPTED SOLUTION

Accepted Solutions
SofLit
ST Employee

Hello,

Look at these thread as they may help:

https://community.st.com/t5/stm32-mcus-products/generating-specified-number-of-pulses-using-pwm/td-p/161924

https://community.st.com/t5/stm32-mcus-products/how-to-generate-exact-number-of-pwm-pulses/td-p/281311

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
PS: Be polite in your reply. Otherwise, it will be reported as inappropriate and you will be permanently blacklisted from my help/support.

View solution in original post

4 REPLIES 4
SofLit
ST Employee

Hello,

Look at these thread as they may help:

https://community.st.com/t5/stm32-mcus-products/generating-specified-number-of-pulses-using-pwm/td-p/161924

https://community.st.com/t5/stm32-mcus-products/how-to-generate-exact-number-of-pwm-pulses/td-p/281311

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
PS: Be polite in your reply. Otherwise, it will be reported as inappropriate and you will be permanently blacklisted from my help/support.

With TIM1 and 3 pulses, the best option is to use the Repetition counter (TIMx_RCR). Read its description in the TIM chapter in Reference Manual (RM).

JW

I will look into this than you. 

Thank you, the first link had a sample program that worked for me.