STM32输出比较模式和PWM模式

1.两者关系:
其实完全可以理解为PWM模式为输出比较模式的特殊形式,pwm模式在对应定时器上的四个通道产生的频率是同步的(即相同的),而输出比较模式在四个通道可以产生的频率不同。
2.pwm很多是周期固定改变占空比来应用的,当然也有改变频率的,改变占空比修改的是CCR1寄存器,而改变频率则是arr分频器。
3.STM32含有影子寄存器(即起实际作用的寄存器)有TIMx_ARR自动重装载寄存器和TIMx_CCR捕获比较寄存器。
ARR寄存器是用来配置计数器溢出周期(也就是计数器计数最大值,比如定时器使用时周期),也就是定时器定时周期或者作为pwm输出时的周期/频率,而TIMx_CCR捕获比较寄存器则是在作输出时作为计数器响应值,也就是pwm时改变占空比(波形)时使用的。两者应用不同
实际上我们的配置占空比的计算就是(RCC+1)/(ARR+1) 或者(ARR-RCC)/(ARR+1),如果我们在在固定频率下可以更多的改变占空比,那么就psc分频值小些,arr值大些即可
 
4.输出比较或者pwm模式下,端口输出OCx和OCxREF关系:
参见手册结构图和TIMx_CCMR1中OCxM位,OCxM位决定OCxREF输出,而OCx输出由OCxREF有效时OCx也输出有效,至于有效电平高低,则由CCxP决定了
以OC1M为例:其定义的是OC1REF的输出,OC1REF有效是定死的为高有效:
      PWM1模式,假如当前OC1REF对应无效电平(OC1REF==0),那么OC1也为无效电平。
当CC1P为0,即OC1为高有效,低无效,那么此时OC1输出就是无效0低电平
当CC1P为1,即OC1为低有效,高无效,那么此时OC1输出就是无效1高电平
简而言之就是:OC1M指的是OC1REF参考电平值,其无效(0)对应OC1时的无效,其有效(1)对应OC1的有效。

你可能感兴趣的:(STM32)