目录
(5)在运行过程中不断更改占空比(也就是更改CCR的值),实现呼吸灯
一、1、步骤
(1)RCC开启时钟(TIM外设、GPIO外设)
(2)时钟源选择和配置时基单元
(3)配置输出比较单元(CCR的值、输出比较模式、极性选择、输出使能)(时基单元直接到输出比较单元,不用配置NVIC)
(4)配置GPIO(把PWM对应的GPIO口初始化为复用推挽输出的配置)
(5)运行控制,启动计数器
2、函数介绍
3、外设引脚和GPIO引脚的复用关系(引脚定义表)
重映射(配置重映射用AFIO来完成,文章末尾有介绍)
二、1、呼吸灯
步骤
1)开启TIM时钟,选择时基单元的时钟,配置时基单元(初始化时基单元)
2)输出比较初始化(初始化通道)
3)配置GPIO
4)TIM使能(开启定时器)
(1)初始化通道
需要初始化哪个通道,就调用哪个函数
不同的通道对应的GPIO口不一样
PA0 口对应第一个输出比较通道
TIM2是通用定时器,把需要用到的参数列出就行,
注意:但用不到的参数就没有初始值,当将 TIM2 改成 TIM1(高级定时器)时可能会导致高级定时器输出PWM出现问题。为了避免出现问题,①要么将结构体的所有成员都配置完整(没用的也配置一下),②要么就先给结构体成员都附一个初始值,再修改部分结构体成员。
方法②
1)输出比较模式
输出比较模式,输出比较极性,输出状态(输出使能),设置CCR寄存器值
2)输出比较极性
(2)配置GPIO
GPIO输出模式要用复用推挽输出
推挽输出引脚的控制权来自输出数据寄存器
复用推挽输出 可将引脚控制权交给片上外设
这里的片上外设引脚连接的是TIM2的CH1通道
(3)启动定时器
(4)计算CCR、ARR、PSC
(5)在运行过程中不断更改占空比(也就是更改CCR的值),实现呼吸灯
附加:重映射的使用
选部分重映射1 或完全重映射
将GPIO中的Pin_0改成Pin_15