关于stm32输出比较不同模式的分析

输出比较模式总共有6种。分别是:

TIM_OCMode_Timing 输出比较时间模式 (输出引脚冻结无效)
TIM_OCMode_Active 输出比较主动模式 (匹配时设置输出引脚为有效电平,当计数值为比较/捕获寄存器值相同时,强制输出为高电平
TIM_OCMode_Inactive 输出比较非主动模式 (匹配时设置输出引脚为无效电平,当计数值为比较/捕获寄存器值相同时,强制输出为低电平)
TIM_OCMode_Toggle 输出比较翻转触发模式(当计数值与比较/捕获寄存器值相同时,翻转输出引脚的电平)
TIM_OCMode_PWM1 向上计数时,当TIMx_CNT < TIMx_CCR时,输出电平有效,否则为无效向下计数时,当TIMx_CNT > TIMx_CCR时,输出电平无效,否则为有效。
TIM_OCMode_PWM2 向上计数时,当TIMx_CNT > TIMx_CCR时,输出电平有效,否则为无效向下计数时,当TIMx_CNT < TIMx_CCR时,输出电平无效,否则为有效。
其中,PWM是最重要也是最常用的模式,很多资料分析的很透彻,这里不再赘述。
输出比较时间模式的输出引脚会被冻结,此模式通常用于产生普通的定时器中断。
其余几个模式中,当“当计数值为比较/捕获寄存器值相同时” 即CCRX=CNT时,会引发后面所说的事件。而TIM_OCMode_Active与TIM_OCMode_Inactive仅触发一次,之后就会出现一直为高电平或者低电平。TIM_OCMode_Toggle会每次在CCRX=CNT时都翻转,所以也形成一个PWM。由于一个周期只翻转一次,占空比只会是百分之五十,周期为参数period的两倍,频率为1/2。
 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐白001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值