pwm的原理如图
ARR:最值,定时器最值
CCRx:PWM的比较值
CNT:为计数器值
原理就是,CCRx的值和CNT比较大小,通过判断结果来决定输出是高电平还是低电平。
将代码定位到TIM_OC_InitTypeDef类中,然后看注释
uint32_t Pulse; /*!< Specifies the pulse value to be loaded into the Capture Compare Register.
This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF */
通过代码注释可以了解到,Pulse为CCR的初值的设定,大小会影响占空比。
uint32_t OCPolarity; /*!< Specifies the output polarity.
This parameter can be a value of @ref TIM_Output_Compare_Polarity */
这个比较极性是输出的是高电平比较值还是低电平比较值,两者输出方向相反