STM32CubeMX配置定时器PWM--保姆级教程

————————————————————————————————————
⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。
⏩最近在开发一个STM32H723ZGT6的板子,使用STM32CUBEMX做了很多驱动,包括ADC、UART、RS485、EEPROM(IIC)、FLASH(SPI)等等。
⏩本篇文章对STM32CUBEMX配置PWM输出做一个详细的使用教程。
⏩感谢你的阅读,不对的地方欢迎指正。
————————————————————————————————————

PWM原理简介

  1. 什么是PWM:PWM简称脉冲宽度调制,即在一个周期内存在不同极性的电平状态。
  2. PWM频率:是指一秒钟内从高电平时间在到低电平时间,再从低电平跳到高电平的瞬间次数,也就是一秒钟内有多少个PWM的周期。f = T / 1(HZ)。
  3. PWM周期:是指一秒钟内从高电平时间在到低电平时间,T = f / 1(s)。
  4. PWM占空比:是指一个周期内高电平时间和总时间的比值。
    例如:PWM的周期为1ms,高电平时间为0.5ms,低电平时间为0.5ms,则频率就为1kHz,占空比就为百分之五十。
    详细原理可看:PWM的基本原理及如何产生PWM

实验环境

软件工具:STM32CUBEMX、KEIL
硬件环境:STM32H723ZGT6

实验目的

产生20KHZ频率50%占空比的方波信号

实验步骤

STM32CubeMX配置

在这里插入图片描述
配置解析:

  1. 通道:TIM1_CH3
  2. 引脚:PE13
  3. 预分频系数:275-1 ,自动重装载值:50
  4. PWM频率:f = T / 1(HZ) = 275000000/(275*50) = 20 000Hz。
  5. PWM周期:T = f / 1(s)。
  6. PWM占空比:占空比 = 比较值/自动重装载值 =比较值(软件配置)/50 。

驱动代码

在while(1)之前加入以下代码:

	HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);//开启PWM
	__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,25);//设置比较值为25

解析:
1.比较值:25
2.PWM占空比:占空比 = 比较值/自动重装载值 =25/50 =50%。

总结

一般我们会使用PWM去做流水灯或者控制舵机等等,控制流水灯只需要改变比较值从而改变它的占空比就可以控制灯 的亮度。控制舵机可以参考下面的文章:
PWM舵机控制原理详解

STM32Cube系列其他文章

STM32CUBEMX配置ADC(多通道轮询)(STM32H7)–保姆级教程
STM32CUBUMX配置RS485(中断接收)–保姆级教程
STM32CUBEMX配置 定时器中断 和 上升沿中断(实现检测1s以内的脉冲个数)
STM32MX配置EEPROM(AT24C02)------保姆级教程
STM32CUBUMX配置FLASH(W25Q128)–保姆级教程
STM32CUBUMX配置RS485 modbus STM32(从机)亲测可用

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小光学嵌入式

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

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

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

打赏作者

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

抵扣说明:

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

余额充值