cubemx配置高级定时器输出比较模式实验

本文介绍了如何利用STM32cubemx和Keil5开发环境,在战舰V3板上,通过高级定时器实现不同相位的PWM波形输出,重点讲解了实验原理、步骤和配置参数的选择。
摘要由CSDN通过智能技术生成

目录

实验目的

实验原理

实验步骤


软件:STM32cubemx、keil5.38

板子:战舰V3

实验目的

输出指定相位的PWM波形。

实验原理

使用高级定时器的输出比较模式中的反转模式,当CNT=CCRX时,输出通道的电平反转。因此可以输出PWM波。

在一个周期中,红色部分是PWM波高电平,绿色部分是PWM低电平,可以看出周期是2*(ARR+1)*\frac{PSC+1}{Ft}。占空比一定是50%。相位指的是波形在循环周期中的位置,可以看出当CRRx越小的时候,PWM高电平越往前,CCRx越大,PWM高电平越往后,所以PWM波的相位由CCRx决定。

实验步骤

选择RCC,配置高速时钟

调整时钟总线频率到72MHz

选择定时器8、配置时钟源、通道

设置预分频为71、预装载值为999

配置通道1、通道2、通道3、通道4的模式为反转模式、比较值为250-1,500-1、750-1、1000-1。通道的相位分别是25%、50%、75%、100%。减1是因为ARR的值是从0到999实际上是1000个数,所以比较值应该250-1、250*2-1、250*3-1、250*4-1。

生成工程

生成工程并打开

在main.c中启动定时器

输出通道分别是PC6、PC7、PC8、PC9,使用示波器可以观察波形

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CubeMX是一个用于生成基于HAL库的初始化代码的工具,可以帮助你轻松地配置PWM输出。以下是配置PWM输出的步骤: 1. 打开CubeMX并创建一个新项目。 2. 选择你的微控制器,并在"Pinout"选项卡中选择要使用的PWM引脚。 3. 在"Configuration"选项卡中,选择"TIMx"并启用PWM模式。 4. 配置PWM的频率和占空比。 5. 生成代码并将其导入到你的开发环境中。 以下是更详细的步骤: 1. 打开CubeMX并创建一个新项目。 - 在 "Select a Board or MCU Series" 中选择你的微控制器 - 点击"Start Project" 2. 选择你的微控制器,并在 "Pinout" 选项卡中选择要使用的PWM引脚。 - 在 "Pinout" 选项卡中,选择你要使用的PWM引脚 - 在 "Mode" 列表中选择 "Alternate Function" - 在 "Alternate Function" 列表中选择 "TIMx_CHy" 3. 在 "Configuration" 选项卡中,选择 "TIMx" 并启用PWM模式。 - 在 "Configuration" 选项卡中,选择 "TIMx" (x表示你所选择的定时器)。 - 在 "Mode" 列表中选择 "PWM Generation CHy" - 在 "PWM Generation CHy" 列表中选择 "PWM Mode" 4. 配置PWM的频率和占空比。 - 在 "Configuration" 选项卡中,选择 "TIMx" (x表示你所选择的定时器)。 - 在 "Prescaler" 字段中输入分频系数,以设置PWM的频率。 - 在 "Auto-Reload" 字段中输入计数器的自动重装值,以设置PWM的周期。 - 在 "Channel" 选项卡中,选择 "Output Compare CHy",并输入占空比。 5. 生成代码并将其导入到你的开发环境中。 - 点击 "Generate Code" 生成代码 - 导出代码并将其添加到你的开发环境中。 完成上述步骤后,你的PWM输出应该已经成功配置
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值