蓝桥杯——PWM / PWM定时器捕获频率和占空比

STM32 HAL库系列(一)定时器PWM输入捕获模式_️零柒️的博客-CSDN博客_定时器捕获模式

原理图

在这里插入图片描述具体可以去看pwm原理,这里不多赘述

Cubemx

一定要设置占空比!!!

程序里面可以通过调用函数__HAL_TIM_SET_COMPARE(); __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2,200);来改变占空比,我们就是通过这一函数来控制电机转速。

学习心得:记得先开HAL_TIM_PWM_Start这个函数,要不然输出不了pwm波

定时器捕获PWM

STM32 HAL库系列(一)定时器PWM输入捕获模式_️零柒️的博客-CSDN博客_定时器捕获模式

唯一不同的是代码,上面连接开了复位模式,获取完CNT的值会自动归0

1) 当第一次上升沿到达时IC1捕获TIMx_CCR1的值为当前计数值4,IC2不会捕获TIMx_CCR2保持不变,计数器复位从0开始计数。
2) 第一个下降沿到达时IC2捕获TIMx_CCR2的值为2表示脉冲宽度。当上升再次到达时TIMx_CCR1的值就表示脉冲周期了(注意:第一次上升沿捕获的是个随机值)。

我闲的无聊,也试了下复位模式,发现也可以。

这里来说明一下频率和占空比计算的公式:
频率:TIM4在APB1时钟总线上,频率是72M,我们一开始设置的分频比是71(+1),所以我们的定时器计数频率是1M,即计数一次的时间是1/1M。那么我们通过读取的周期计数值计算出周期=TempPIpre*(1/1M),然后频率是周期的倒数,故我们需要的PI频率=1/(TempPIpre*(1/1M))=1M/TempPIpre。
占空比:TempPIpul是高电平计数值,TempPIpre是整个周期的计数值,所以TempPIpul/TempPIpre就是我们的正占空比,这里我TempPIpul*100是将小数显示扩大100倍成百分比显示。
 

注意!!!

记得提前开定时器和定时器中断 

还有需要杜邦线将PWM输出输入接在一起

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值