七十五,PWM

1,PWM简介

2,定时器与PWM

3,程序配置

首先必须添加定时器的固件库,tim,PWM也是基于固件库配置出来的

根据固件库使用有几个公式来设定时间

溢出时间(周期)Tout(单位秒)=(arr+1)(psc+1)/Tclk 20MS = (59999+1)*(23+1)/72000000

Tclk为通用定时器的时钟,如果APB1没有分频,则就为系统时钟,72MHZ

自动装载值(arr+1),预分频系数(psc+1);

PWM时钟频率=72000000/(59999+1)*(23+1) = 50HZ (20ms),设置自动装载值60000,预分频系数24

按照上面设置,20MS的自动装载值60000,

180°需要2MS的自动装载值7500,

90°需要1.5MS的自动装载值4500,

45°需要1MS的自动装载值3000,

0°需要0.5MS的自动装载值1500,

4,程序

其实就是设置PWM的占空比,来调节舵机角度

初始化

判断

在端口配置的时候可以进行重映射,开发板上选用TIM3

5,重映射功能.

程序里没有使用重映射,不需要配置.

映射的配置需要屏蔽//GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE); //映射,重映射只用于64、100、144脚单片机

调用取消屏蔽号就行,并设置部分重映射或者完全重映射.

一般不推荐重映射,画图的时候就需要注意.

6,PWM配置

计数器溢出方式有多种可以设置

一般选择向上

详解

PWM1和 PWM2也是不同