对于pwm输出模式共有以下几种模式
①、TIM_OCMode_Timing
②、TIM_OCMode_Active
③、TIM_OCMode_Inactive
④、TIM_OCMode_Toggle
⑤、TIM_OCMode_PWM1
⑥、TIM_OCMode_PWM2
首先是 看说明书中的解释
TIM_OCMode | 函数库描述 | 解释 |
TIM_OCMode_Timing | TIM输出比较 | 冻结,输出比较不起作用 |
TIM_OOCMode_Active | TIM输出比较主动模式 | 当比较发生时,强制输出高电平 |
TIM_OCMode_Inactiive | TIM输出比较非主动模式 | 当比较发生时,强制输出低电平 |
TIM_OCMode_Toggle | TIM输出比较触发模式 | 当比较发生时,输出翻转 |
TIM_OCMode_PWM1 | TIM脉冲宽度调制模式1 | PWM1 |
TIM_OCMode_PWM2 | TIM脉冲宽度调制模式2 | PWM2 |
此项功能是用来控制一个输出波形,或者指示一段给定的的时间已经到时。
当计数器与捕获/比较寄存器的内容相同时,输出比较功能做如下操作:
● 将输出比较模式(TIMx_CCMRx寄存器中的OCxM位)和输出极性(TIMx_CCER寄存器中的
CCxP位)定义的值输出到对应的引脚上。在比较匹配时,输出引脚可以保持它的电平
(OCxM=000)、被设置成有效电平(OCxM=001)、被设置成无效电平(OCxM=010)或进行翻
转(OCxM=011)。
● 设置中断状态寄存器中的标志位(TIMx_SR寄存器中的CCxIF位)。
● 若设置了相应的中断屏蔽(TIMx_DIER寄存器中的CCxIE位),则产生一个中断。
● 若设置了相应的使能位(TIMx_DIER寄存器中的CCxDE位,TIMx_CR2寄存器中的CCDS位
选择DMA请求功能),则产生一个DMA请求。
TIMx_CCMRx中的OCxPE位选择TIMx_CCRx寄存器是否需要使用预装载寄存器。
●TIM_OCMode_Timing是在比较成功后不在对应输出管脚上产生输出。
●TIM_OCMode_Toggle是在比较成功后翻转对应输出管脚上的电平。
●TIM_OCMode_PWM1 当计时器值小于比较器设定值时则TIMX输出脚此时输出有效高电位。
当计时器值大于或等于比较器设定值时则TIMX输出脚此时输出低电位。
●TIM_OCMode_PWM2
当计时器值小于比较器设定值时则TIMX输出脚此时输出有效低电位。
当计时器值大于或等于比较器设定值时则TIMX输出脚此时输出高电位