STM32H743+CubeMX-低功耗定时器LPTIM输出PWM波


相关笔记:
STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)
STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)

一、前言

PWM波形在实际工作上有非常广泛的使用,尤其在步进电机控制与LED阵列的控制。Cortex-M7架构增加了好几个低功耗定时器LPTIM,也可以用来产生PWM波。
LPTIM没有普通TIM的功能强大,主要的用途在于低功耗。
如下图所示,PWM波的频率是10kHz,占空比50%。
在这里插入图片描述

二、CubeMX

2.1、Clock Configuration

LPTIM2,LPTIM3等时钟源都是APB4总线,所以LPTIM2的工作频率是120M。
在这里插入图片描述
在这里插入图片描述

2.2、LPTIM2 Mode and Configuration

不勾选Waveform Generation的话,就没有分配GPIO口。
在这里插入图片描述

2.3、Parameter Settings

在这里插入图片描述

2.4、生成代码

在这里插入图片描述

三、代码

3.1、lptim.c

在函数MX_LPTIM2_Init(void)里添加用户代码,HAL_LPTIM_PWM_Start()开启PWM波输出,并设置ARR寄存器与CMP寄存器。
在这里插入图片描述
HAL_LPTIM_PWM_Start( )的第二个入口参数Period与第三个入口参数Pulse计算PWM波的频率与占空比。
PWM波的频率 = 120M / Period + 1 = 120M / 12000 = 10kHz
PWM波的占空比 = (Pulse + 1 / Period + 1) * 100% = (6000 / 12000) * 100% = 0.5 * 100% = 50%。
在这里插入图片描述

3.2、烧写代码

接着烧写代码,用示波器查看对应的GPIO口。
在这里插入图片描述
在这里插入图片描述

四、细节补充

  1. LPTIM与普通TIM调用的HAL库函数不一样,LPTIM调用HAL_LPTIM_PWM_Start()时需要设置PWM的频率与占空比,而普通TIM的HAL_TIM_PWM_Start()与HAL_TIM_OC_Start()只是打开某个通道的PWM输出。
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wallace Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值