STM32系列芯片通用定时器输出固定/可变PWM、输入捕获、输出比较三个功能的配置及其程序

本文详细介绍了STM32系列芯片如何通过通用定时器实现固定和可变PWM输出,以及输入捕获和输出比较功能的配置。使用Cubemx进行时钟设置,并利用中断机制实现PWM控制。同时,通过输入捕获功能验证PWM的正确性。
摘要由CSDN通过智能技术生成

STM32系列芯片通用定时器输出固定/可变PWM、输入捕获、输出比较三个功能的配置及其程序

**

输出固定/可变PWM

在这里插入图片描述

**
cubemx配置:
在这里插入图片描述
在这里插入图片描述
这里时钟树的APB1和APB2都设为50MHz,预分频设为4999,则分频系数为5000,频率为50MHz除以5000等于10khz的频率,ARR设置为199即PWM一个周期为20ms,占空比为50即5ms。

在这里插入图片描述
如上图所示,ARR就是咱设置的200即20ms的周期,CCR是输入捕获/比较寄存器设置的值,5ms的占空比,黑色的三条斜杆是CNT计数器,在递增计数模式下,CNT<CCR通道有效即为高电平,反之则反。

以下为输出固定PWM程序:
采用中断方式实现PWM输出

在这里插入图片描述
输出可变的PWM:
也是采用中断实现

在这里插入图片描述
添加两个变量在tim.c中

在这里插入图片描述
令脉宽变化即可输出变化的PWM.

输出比较,同样用TIM14,配置如下

在这里插入图片描述
输出比较这里选择翻转,即当CNT=CCR时状态翻转。程序如下:

在这里插入图片描述
两行代码搞定

输入捕获

输入捕获的原理即一个定时器输出PWM,用另外一个具有输入捕获的定时器才捕获输出的PWM,以此来验证输出的PWM正确性

配置如下::

TIM设置为固定输出PWM
在这里插入图片描述
TIM9设置输入捕获TIM14的脉宽
在这里插入图片描述
程序如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值