如何利用STM32通用定时器实现输出两路占空比和频率可调的互补PWM

MCU:STM32F334C8T6

PWM即脉宽调制,可以用来驱动电机,驱动全桥电路等,用过STM32的知道,用它的定时器可以很容易实现PWM输出,使用高级定时器的TIMx_CHy和TIMx_CHyN可以轻易实现互补PWM(complementary PWM)波形的输出。

高级定时器资源有限,本文利用通用定时器(General-purpose timers)实现互补PWM输出,在高级定时器资源不够时不失为一个好方法。

STM32的定时器PWM有两种模式:PWM mode 1和PWM mode 2

工作原理:

PWM mode 1 - In upcounting, channel 1 is active as long as TIMx_CNT<TIMx_CCR1 else inactive. 

In downcounting, channel 1 is inactive (OC1REF=‘0’) as long as TIMx_CNT>TIMx_CCR1 else active (OC1REF=’1’).

 PWM mode 2 - In upcounting, channel 1 is inactive as long as TIMx_CNT<TIMx_CCR1 else active. 

In downcounting, channel 1 is active as long as TIMx_CNT>TIMx_CCR1 else inactive.

官方手册对channel 1 的说明,其他channel类似,考虑向上计数模式

方法一:

假设高电平为有效电平,即高电平为active,使用定时器3

PWM mode 1:TIM3_CNT<TIM3_CCR1 输出高,TIM3_CNT>TIM3_CCR1 输出低

PWM mode 2:TIM3_CNT<TIM3_CCR1 输出低,TIM3_CNT>TIM3_CCR1 输出高

可以

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值