Skip to main content
esiqueira
Associate III
July 11, 2012
Question

TIMER (Duty and OCActive)

  • July 11, 2012
  • 2 replies
  • 845 views
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
    This topic has been closed for replies.

    2 replies

    Tesla DeLorean
    Guru
    July 12, 2012
    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 VenmoUp vote any posts that you find helpful, it shows what's working..
    esiqueira
    esiqueiraAuthor
    Associate III
    July 13, 2012
    Posted on July 13, 2012 at 20:04

    THANKS clive1