CubeMX进行基本配置定时器PWM实现

随便选择一个为例子,TIM2channel 1通道为例。 在时钟Clock source 选项中。可选 Internal Clock 和 ETR2。这里我们选择内部时钟。

本人配置图片:

参考配置图片:

Prescaler :该参数为时钟源预分频系数,

Counter Mode :计数模式,可以选择向上、向下、中心对齐等计数方式;

Counter Period :自动重装寄存器ARR值,该参数决定了生成PWM的周期,

auto-reload preload :预装载自动重装,设置为Enable后,当修改ARR的值时会在下一个UEV事件生效,否则表示不适用预装载,修改其值会立即生效;

TRGO Parameters    触发输出 (TRGO)               不使能    与本节无关

TRGO:    定时器的触发信号输出  在定时器的定时时间到达的时候输出一个信号(如:定时器更新产生TRGO信号来触发ADC的同步转换,) 

Mode :可以选择模式1/模式2,这两种模式区别为生成的PWM波形不一样,选择PWM模式1且向上计数时,当Pulse值<计数值ARR时此时通道输出有效状态,否则为无效状态,

当选择PWM模式2时刚好与模式1相反。如下面两个PWM波形中,上图为采用PWM模式1,通道极性为高电平时产生的PWM波,下图为采用PWM模式2,通道极性为高时产生的PWM波;

Pulse :即捕获/比较寄存器CRR的值,通过设置该参数可以决定PWM的脉冲宽度

Output compare preload :输出比较预装载,设置为Enable后,当修改Pulse的值时会在下一个UEV事件生效,否则会立即生效;

CH Polarity :通道极性,设置通道有效状态;

参考图片的配置:

本人具体配置:

(1)定时器的时钟周期是72MHz,

prescaler=7199            ,Period=10000         Pulse=5000

f:72MHz/(prescaler+1)/( Period+1)=1KHz。                    周期T:1S;

(2)占空比=(Pulse/Period);        5000/10000=50%

(3)导通的时间:(Pulse/Period)T=(5000/10000)1S=0.5s

开启定时器

 /* USER CODE BEGIN 2 */
  HAL_TIM_Base_Start(&htim2);
  /* USER CODE END 2 */

在while中输入这个代码,开PWM
      HAL_TIM_PWM_Start(&htim2 ,TIM_CHANNEL_1);

示波器夹在PA0引脚。

结果图片:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值