LL库-PWM输出

文章讲述了如何使用STM32CubeMX生成的代码配置STM32L431RCT6微控制器的TIM2通道1进行1KHzPWM输出。通过调整ARR和PSC寄存器的值来设置PWM频率,通过LL_TIM_OC_SetCompareCH1函数修改占空比,并展示了不同脉冲值下的波形效果。

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

LL库-PWM输出

  • Fang XS.
  • 1452512966@qq.com
  • 如果有错误,希望被指出

踩坑记录

PWM

  • 以TIM2通道1为例:
  • STM32CubeMX配置如下:
    在这里插入图片描述
  • 在默认初始化函数,添加如下代码:
  /* USER CODE BEGIN TIM2_Init 2 */
	LL_TIM_CC_EnableChannel(TIM2, LL_TIM_CHANNEL_CH1);
    LL_TIM_EnableCounter(TIM2);
    LL_TIM_EnableAllOutputs(TIM2);
  /* USER CODE END TIM2_Init 2 */
  • 使用的STM32L431RCT6主频为80MHz,这里以配置PWM输出1KHz为例。
  • PWM频率80M / ((ARR+1)*(PSC+1)) = 80M / (79+1)*(999+1) = 1000Hz
  • 参数ModePWM模式
    在这里插入图片描述
  • PWM mode 1模式下,当CNT< Pulse时,将输出CH Polarity电平。
  • PWM占空比Pulse取值有关:上图设置中,ARR为999,向上计数,那么Pulse范围即0-999,对应占空比0-99%
  • 设置Pulse为500时,逻辑分析仪抓取的波形为:
  • 通过库函数LL_TIM_OC_SetCompareCH1(TIM2, 980);修改Pulse,输出为:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值