[STM32F1] VSCODE STM32 裸机之LED呼吸灯

[复制链接]
 楼主| zero949079783 发表于 2021-11-7 15:38 | 显示全部楼层 |阅读模式
开发环境:VSCODE(gcc编译链)+STM32CubeMX(也可以使用HUAWEI-LiteOS-Studio) 。
代码:链接:https://pan.baidu.com/s/1uXfIR0GFQOBZPl1NfQP08w  
提取码:6b0c

PWM介绍
PWM定义:脉冲宽度调制(PulseWidthModulation,PWM)简称脉宽调制。通俗讲,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

占空比定义:占空比就是高电平所占整个周期的时间,如下图所示:
1.png


2.png

3.png
4.png
5.png

1.选择TIM3
2.设置定时器时钟源为内部时钟源
设置定时器CH1为PWM模式
3.对应管脚自动设置为复用模式
4.可自行选择是否开启定时器中断
Channel1~4  就是设置定时器通道的功能     (输入捕获、输出比较、PWM输出、单脉冲模式)

Mode   选择PWM模式1
Pulse(占空比值)  先给0
Fast Mode   PWM脉冲快速模式    :  和我们配置无关,不使能
PWM 极性:   设置为低电平        PS:  由于LED是低电平点亮,所以我们把极性设置为low
  1. #include "pwm_led.h"

  2. uint16_t pwmVal=0;   //PWM占空

  3. void TimCH_Config(void)
  4. {
  5.     // HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
  6.     // HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3);
  7.      HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
  8. }

  9. void TIMCH_PWM_LED(void)
  10. {

  11.         while(pwmVal<2000)
  12.         {
  13.                 pwmVal ++;
  14.                 __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_2, pwmVal);  //PWM CH2
  15.                 //__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_3, pwmVal);        //PWM CH3       
  16.                 //__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_4, pwmVal);  //PWM CH4
  17.                 HAL_Delay(1);
  18.         }
  19.        
  20.         while(pwmVal)
  21.         {
  22.                 pwmVal --;
  23.                 __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_2, pwmVal);  //PWM CH2
  24.                 //__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_3, pwmVal);        //PWM CH3       
  25.                 //__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_4, pwmVal);  //PWM CH4
  26.                 HAL_Delay(1);
  27.         }
  28.         HAL_Delay(200);
  29.        
  30. }


您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

91

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

33

主题

91

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部