动态更改PWM波频率并输出一定数量PWM脉冲

一,动态更改PWM波频率:

1,定时器时钟使能(主,从)

2,正常配置产生PWM波。

3,使能事件更新。TIM->CR1的UDIS=0

4,使能影子寄存器TIM->CR1的ARPE=1

这样就可以直接更改TIM->ARR和CCR的值,当定时器溢出后,PWM波形变化后寄存器更新,波形更新,避免直接更改后产生错误。

二,产生一定数量PWM脉冲:主要思路是使用STM32自带的定时器同步功能中以一个定时器作为另一个定时器分频器的功能。

1,使能从定时器。注意:定时器内部触发链接:参考手册TIMx->SMCR中SMS位部分。

2,配置从定时器。注意:从定时器时钟源选择:外部时钟模式-External Clock Mode 1

(note:如果使用STM32自带的MX配置代码生成软件,每次生成代码从模式都会改为TriggerMode,注意改回来,坑!)

3,配置从定时器ARR寄存器,当主定时器产生PWM波时,每个波形脉冲从定时器跳动一次,从定时器溢出后就可以关闭两个定时器,这样就产生了一定数量的脉冲。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值