STM32中PWM的参数配置

    xiaoxiao2021-03-25  139

    我们引用ST官方给出的F10xStd3.5的库中的TIM>PWM_Output中的例程来举例

    可以看出配置pwm参数主要是俩个函数

    PrescalerValue = (uint16_t) (SystemCoreClock / 24000000) - 1; /* Time base configuration */ TIM_TimeBaseStructure.TIM_Period = 665; TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); /* PWM1 Mode configuration: Channel1 */ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = CCR1_Val; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM3, &TIM_OCInitStructure);

    你的频率f=(SystemCoreClock/(PrescalerValue+1))/Period

    f*Period=SystemCoreClock/(Prescaler+1)

    当SystemCoreClock取72M时 不妨取Prescaler为71 这样

    f=1M/Period

    而CRR1_Val是基于Period的占空比

    转载请注明原文地址: https://ju.6miu.com/read-6118.html

    最新回复(0)