STM32物联网实战开发(6)——PWM驱动LED灯

本文介绍了如何使用STM32的HAL库和CubeMX软件来配置PWM信号控制LED灯的亮度。通过设置定时器的预分频系数PSC和自动重载值ARR来调整PWM的周期和占空比,从而改变LED的亮度。文中还提到了定时器中断和外部中断的应用,以及在处理中断时HAL_Delay函数的中断优先级问题。

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

PWM驱动LED灯

        之前是使用标准库函数配置引脚输出PWM控制呼吸灯,因为开发板上的蜂鸣器是有源的,所以这次还是用来确定LED灯,这次使用的是HAL库,用CubeMX软件初始化PWM功能

PWM输出原理

Period:周期,单位是秒

Duty:占空比

CubeMX配置
        因为PB0引脚是定时器3的通道3,定时器3是通用定时器,也有PWM输出功能,所以在软件中对TIM3进行初始化

        主要就是要设定定时器时钟的分频值PSC,自动重载值ARR,因为定时器时钟确定后,每计数一次的时间也定了,从0向上计数到ARR的值,就是一个PWM周期

在PB0引脚选择TIM3_CH3
 

开启通用定时器3的时钟源,选择内部时钟,通道3的PWM功能 

 配置时基单元和PWM输出通道

        预分频系数PSC设置为71,也可以写为72000000/1000000-1,设置定时器的时钟为1MHz,因为72MHz的晶振振72次是1us(72分频),1/1us = 1/0.000001s = 1000000Hz &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值