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也是不同