cancel
Showing results for 
Search instead for 
Did you mean: 

TIMER (Duty and OCActive)

esiqueira
Associate II
Posted on July 11, 2012 at 15:46

Hi,

I would like to know why in TIM_OCMode_PWM1, I can calculate the frequency

'Duty cicle'

                        TIM_CLK / (TIM_Period + 1)                36MHz/(999+1)

 Frequencia  =  --------------------------------    Logo, ------------------ = 18KHz

                                (TIM_Prescaler + 1)                               (1+1)

(see attached file)

And in TIM_OCMode_Timing the period was set with 65535???? 'OCActive'

(see attached file)

#stm32-duty-cicle-ocactive-pulse
2 REPLIES 2
Posted on July 12, 2012 at 20:32

Because presumably using the maximal 16-bit counter value makes advancing the CCR at each CC interrupt profoundly easier to do, and doesn't require any modulo math using slow divide instructions. And issues with CC/Update interrupts.

By advancing the CCR you can generate a far wider range of frequencies than you can with the integer divider methods.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
esiqueira
Associate II
Posted on July 13, 2012 at 20:04

THANKS clive1