STM32之定时器LED呼吸灯

本文围绕STM32定时器PWM展开,介绍了配置步骤,包括开启时钟、配置时基单元和输出比较单元等,说明了如何初始化输出比较单元及结构体成员设置。还提及使用定时器控制引脚的输出模式,计算频率、分辨率与占空比,以及引脚重映射的方法和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器

PWM:

第一步:开启时钟,GPIO外设与TIM外设时钟打开

第二步:配置时基单元

第三步:配置输出比较单元

TIM_OCInit函数,用结构体来初始化输出比较单元

TIM_SetCompare函数,

如何初始化输出比较单元:

(一)TIM_OCInit函数对应输出比较单元(通道),

(二)配置输出比较的结构体

(三)结构体的成员有很多是高级定时器,(带N的为高级定时器)

           OCmode——>设置输出比较的模式        TIM_OCMode_PWM1

           OCPolarity——>设置输出比较的极性      有效电平为高电平  TIM_OCPolarity_High

           OCOutputState——>设置输出比较的使能        TIM_OutputState_Enable

           OCPulse——>设置CCR                                

为结构体赋初始值(OCStructInit函数)

问题:为什么一定要给没用到的结构体参数赋初始值呢

使用定时器控制引脚采用复用开漏/推挽输出模式

计算频率,分辨率与占空比:

1M=1000 000HZ

f=晶振频率/(PSC+1)/(ARR+1)------->1000------>晶振频率=72M,ARR+1=100,PSC+1=720

分辨率=1/(ARR+1)----->1%------>ARR+1=100

占空比=CCR/(ARR+1)------>50%------->CCR=50

引脚重映射:

重映射可以在引脚冲突时使用。

首先要开启AFIO的时钟(AFIO------>复用IO口)

GPIO_PinRemapConfig-------->引脚重映射配置函数

重映射其他端口时,如果该端口有属于自己的功能,则先关闭其对应端口

GPIO_PinRemapConfig()----->部分或全部重映射

GPIO_PinRemapConfig()----->第一个参数为关闭3个重映射本来具有功能的端口还是5个

注意事项:

每个通道与每个输出比较值一一对应。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值