STM32F103ZET6 PWM输出

本文详细介绍了STM32F103ZET6芯片中通用定时器的PWM功能,包括通用定时器的结构、输入/输出脚、计数方式以及PWM输出的工作原理。内容涵盖了计数模式设置、PWM频率和占空比的确定,以及配置PWM输出的步骤。此外,还提供了HAL库操作PWM输出的初始化代码示例。
摘要由CSDN通过智能技术生成

1、通用定时器的PWM功能

  STM32F103ZET6有4个通用定时器,分别是TIM2、TIM3、TIM4、TIM5。

  通用定时器由一个可编程预分频器驱动的16位自动装载计数器构成。

  通用定时器的很多功能与基本定时器是一样的,但是每个通用定时器都有4个IO口,可以用来测量输入信号的脉冲长度(输入捕获)或产生输出波形(输出比较和PWM)。

  通用定时器可以用来输出PWM信号,每个通用定时器可以输出4路PWM信号。

2、通用定时器的输入/输出脚

  每个通用定时器都具有4个输入/输出通道,即4个IO口,它们的对应关系如下图:

3、通用定时器的计数方式

   通用定时器的框图如下:

  图中TIMx_CH1、TIMx_CH2、TIMx_CH3、TIMx_CH4就是用来输出PWM的脚位,对应定时器的4个通道。

  通用定时器的功能是在基本定时器功能上的扩展,定时部分跟基本定时器是差不多的,只是基本定时器只能是向上计数,而通用定时器既可以设置成向上计数、也可以设置成向下计数、或是设置成向上/向下计数。

  通用定时器的向上计数模式跟基本定时器是一样的。

  通用定时器的向下计数模式:

  在向下计数模式中,计数器先从TIMx_ARR自动装载寄存器中获取计数初值,然后开始向下计数,当计数到0时产生中断并重新从TIMx_ARR自动装载寄存器中获取初值。

通用定时器的向上/向下计数模式:  

  在向上/向下计数模式中,计数器从0开始计数到TIMx_ARR-1的值后产生中断,然后向下计数到1并产生中断;然后再从0开始重新计数。

  在向上/向下计数模式中,不能对TIMx_CR1寄存器中的DIR位赋值,DIR位由硬件更新,可以通过读取DIR位来确认当前是向上计数还是向下计数。

    在向上/向下计数模式中,如果内部时钟分频因子为1,TIMx_ARR自动装载寄存器的值为0x06,那么定时器的的时序图如下:

  从图中可以看到,计数器向上计数到0x05的时候产生了溢出中断,计数器向下计数到1的时候产生了溢出中断。

  通用定时器通过TIMx_CR1控制寄存器的CMS[1:0]位和DIR位来控制定时器的计数方向。

4、通用定时器PWM输出的工作原理

  通用定时器PWM输出的频率由TIMx_ARR自动重装载寄存器和TIMx_PSC预分频器寄存器确定、占空比由TIMx_CCRx捕获/比较寄存器决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值