STM32Cubemx配置定时器PWM——基础配置

一、Cube配置

以TIM5为例,其他有PWM输出功能的定时器类似。

1.1 计数器配置

修改预分频系数(PSC)和计数器周期(Counter Period)
在这里插入图片描述

查看数据手册,TIM5挂载在APB1总线上,我设置的APB1=84Mhz。
P W M 周期 = I n t e r n a l C l o c k / P S C ∗ C o u n t e r P e r i o d = 84 M h z / 42 ∗ 1000 = 2 K h z PWM周期=InternalClock/PSC*Counter Period=84Mhz/42*1000=2Khz PWM周期=InternalClock/PSCCounterPeriod=84Mhz/421000=2Khz
所以PWM周期为2Khz

1.2 PWM配置

初始化PWM占空比
在这里插入图片描述

占空比 = P u l s e / C o u n t e r P e r i o d = 500 / 1000 = 50 % 占空比=Pulse/Counter Period=500/1000=50\% 占空比=Pulse/CounterPeriod=500/1000=50%

二、程序设计

2.1 开启PWM

Cube只是帮我们配置,并不会自动帮我们开启PWM,所以需要我们手动开启PWM。

    HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_1);	// 开启通道1 PWM
    HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_2);	// 开启通道2 PWM

2.2 和PWM设置相关的函数

2.2.1 开启关闭PWM

HAL_TIM_PWM_Start();  	// 开启PWM
HAL_TIM_PWM_Stop();		// 关闭PWM

2.2.2 修改PWM周期

for(i=100;i>0;i--)
{
 __HAL_TIM_SET_COMPARE(&htim14,TIM_CHANNEL_1,i*10);   // 修改PWM占空比,实现呼吸灯效果
 osDelay(10);  //延时10ms
}
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值