STM32--PWM波输出程序如何写

  我采用得是STM32F10RC  参考得是STM32普中科技的给出得例子:https://www.bilibili.com/video/av30149282/?p=45(这里给出网址)

1、PWM输出介绍

        STM32F1 除了基本得定时器TIM6  TIM7 不能产生PWM输出,其他得定时器都可以产生PWM输出,其中TIM1 和 TIM8 可以产生多大7 路的输出,普通的定时器可以同时产生多大4路的输出

   PWM的基本概念意义就不在此处进行讲述了

  定时器钟的ARR (自动重装值) 决定了PWM波的信号的频率   

  比较寄存器的 CRR的值,则决定了  PWM波的占空比的值

2、PWM的输出比较模式

PWM的输出的模式有8 种,我们最常用的就是 PWM1 和 PWM2,这两种的区别就是输出的电平的极性是不同的。

a、边沿对齐模式 : 

cnt  < CCR   PWM的参考信号便为有效, 有效设定为高电平   

cnt >ccr  PWM变为无效,无效为低电平

b、 中心对齐模式

3、 PWM的输出的配置步骤

step1: l  输出管脚的功能配置

       ps 在这一步应当查询手册确定所选用的引脚的输出的具有对应的定时器的PWM的输出的功能

step 2 开启定时器的相关东西

step3 PWM 的相关配置    用来配置相关的输出的模式

最终如何得到占空比和频率的设定:

频率:

//Fpwm = 72M / ((arr+1)*(psc+1))(单位:Hz)
占空比:

//duty circle = TIM3->CCR1 / arr(单位:%)

猜你喜欢

转载自blog.csdn.net/weixin_42066185/article/details/87638731