STM32CubeMX PWM

简介: STM32CubeMX PWM

一、PWM简介


      脉宽调制 (PWM) 是一种从数字输出输出模拟值的技术。普通的 GPIO 输出只能输出高电平或低电平。因此,只能通过使用时间来生成模拟值。使用 PWM,引脚交替打开和关闭,以便平均输出电压介于高电压和低电压之间。


    占空比和 PWM 频率对我们来说是最重要的参数。接通时间占该周期时间的比例称为占空比。例如,20% 的占空比意味着信号在 20% 的时间内开启,在 80% 的时间内关闭。 PWM 频率指定信号的时间周期。


频率 =定时器时钟  / (psc+1) / (arr+1) (单位:Hz)

arr 是计数器值

psc 是预分频值

占空比:

duty circle = TIM3->CCR1 / arr(单位:%)

TIM3->CCR1  用户设定值


TIM3->CCR1 = dutyCycle

和__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, dutyCycle);作用相同

HAL_TIM_PWM_Start//PWM启动函数
HAL_TIM_PWM_Stop//PWM停止函数
_HAL_TIM_SET_COMPARE//占空比
_HAL_TIM_SET_AUTORELOAD//周期


二、CubeMX配置


打开仿真调试



时钟源



选择频率



使能板载LED PC13引脚



定时器配置



生成工程




在代码中只需要在main函数调用

main.c

  /* USER CODE BEGIN 2 */
  
    HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
  
  /* USER CODE END 2 */


添加小灯观察板子是否工作

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    
    HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
    HAL_Delay(100);
    /* USER CODE END WHILE */


运行结果


目录
打赏
0
9
9
1
44
分享
相关文章
|
7月前
STM32Cubemx PWM驱动加湿器模拟火山喷发效果
STM32Cubemx PWM驱动加湿器模拟火山喷发效果
109 14
|
7月前
STM32Cubemx PWM驱动SG90舵机
STM32Cubemx PWM驱动SG90舵机
288 13
掌握PWM:STM32F103实现PWM控制直流电机小风扇
PWM,即脉冲宽度调制(Pulse Width Modulation),是一种广泛应用于电子和电机控制领域的信号编码方法。PWM的核心思想是通过改变数字信号的脉冲宽度来模拟模拟信号的幅度变化,从而达到控制输出功率的目的。
787 0
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
STM32F103C8 TIM输出比较与PWM
STM32F103C8 TIM输出比较与PWM
135 0
STM32学习笔记(4) 高级定时器-两路互补的PWM输出(带死区和刹车控制)
原理:当捕捉到信号的跳变沿时,将CNT的值所存到捕获寄存器CCR中,然后把两次的值相减,就可以得到脉宽或者频率。
1714 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等