STM32输入捕获,cubemx设置,测量一路PWM的频率和占空比。

今天给大家带来STM32输入捕获应该配置的代码编写,我用的是STM32G431的开发板,之前参加蓝桥杯的板子,如图

首先查看数据手册定时器有哪些引脚支持pwm输出和输入捕获。采用的PA1的TIM2_CH2做为PWM输出,PA7的TIM3_CH2作为输入捕获,

接着对cubeMX进行配置如图,先设置pwm输出,先勾选PA1引脚为TIM2_CH2,内部时钟,通道二设置成输出PWM模式,预分配是80-1,(我板子的主频是80M,不同板子不一样自行设置),自动重装置值是1000-1,pulse设置为400,占空比设置成40%,(80 000 000/80)/1000=1000hz

 然后进行配置输入捕获,先勾选PA7的TIM3_CH2,同样也是内部时钟,通道二设置成输入捕获模式,设置预分配是80-1(不同板子不一样自行设置),自动重装置值65535,设置上升沿触发,这里需要打开中断,在NVC settings中开中断,基本就配置好点击生成代码。

 先编写定时器中断函数如图,上升沿捕获一次,下降沿捕获一次,然后再次捕获一次上升沿,代码有注释很详细。

 编写一个捕获的函数,用来 处理和计算捕获的数值如图

 在mian.c中打开定时器,最可以将数据打印到LCD上进行显示(这里没写LCD 的代码),运行下载到板子,同时需要用杜邦线将PA1和PA7引脚相连如图所示。

 得到频率1000hz,占空比40%(一点点不准哈哈哈)。

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博涛1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值