当前位置:   article > 正文

STM32开发——定时器led、PWM呼吸灯_led点亮时间利用定时器实现时间的控制 stm32

led点亮时间利用定时器实现时间的控制 stm32

目录

1.定时器控制LED亮灭

2.PWM呼吸灯——定时器


1.定时器控制LED亮灭

定时器分类:
基本定时器(TIM6~TIM7)
通用定时器(TIM2~TIM5)
高级定时器(TIM1和TIM8)

 通用定时器介绍:

  •  16 位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。
  • 16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为 1~65535 之间的任意数值。
  • 4 个独立通道(TIMx_CH1~4),这些通道可以用来作为:

A.输入捕获
B.输出比较
C.PWM 生成(边缘或中间对齐模式)
D.单脉冲模式输出

  • 可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)的同步电路。
  • 如下事件发生时产生中断/DMA:

A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
C.输入捕获
D.输出比较
E.支持针对定位的增量(正交)编码器和霍尔传感器电路
F.触发输入作为外部时钟或者按周期的电流管理

定时器计数模式:

定时器溢出时间计算公式:

 需求:使用定时器中断方法,每500ms翻转一次LED1灯状态。
1. RCC配置
2. LED1灯配置
3. 时钟数配置
4. TIM2配置

 

 

5. 工程配置
6. 重写更新中断回调函数

  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  2. {
  3. if(htim->Instance == TIM2)
  4. HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);
  5. }

 7. 启动定时器
在main.c中,在定时器初始化命令之后加入以下代码:

HAL_TIM_Base_Start_IT(&htim2);

2.PWM呼吸灯——定时器

STM32F103C8T6 PWM资源:
高级定时器(TIM1):7路
通用定时器(TIM2~TIM4):各4路
PWM输出模式:

  1. PWM模式1:在向上计数时,一旦 CNT < CCRx 时输出为有效电平,否则为无效电平; 在向下计数时,一旦 CNT > CCRx 时输出为无效电平,否则为有效电平。
  2. PWM模式2:在向上计数时,一旦 CNT < CCRx 时输出为无效电平,否则为有效电平; 在向下计数时,一旦 CNT > CCRx 时输出为有效电平,否则为无效电平。

 PWM占空比:
由TIMx_CCRx寄存器决定。不能超过ARR的值

需求:使用PWM点亮LED1实现呼吸灯效果。

LED灯为什么可以越来越亮,越来越暗?
这是由不同的占空比决定的。
如何计算周期/频率?
假如频率为 2kHz ,则:PSC=71,ARR=499
LED1连接到哪个定时器的哪一路?
学会看产品手册:

 

 或者直接点击芯片

 开始实战!
1. 设置时钟
2. 设置定时器

 记得把极性设置为Low,因为LED灯是低电平才亮。
3. 配置工程
4. 业务代码

  1. // 定义变量
  2. uint16_t pwmVal=0; //调整PWM占空比
  3. uint8_t dir=1; //设置改变方向。1:占空比越来越大;0:占空比越来越小
  4. // 使能 Timer4 第3通道 PWM 输出
  5. HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3); //放在在定时器初始化后
  6. // while循环实现呼吸灯效果
  7. while (1)
  8. {
  9. HAL_Delay(1);
  10. if (dir)
  11. pwmVal++;
  12. else
  13. pwmVal--;
  14. if (pwmVal > 500)
  15. dir = 0;
  16. if (pwmVal == 0)
  17. dir =1;
  18. //修改比较值,修改占空比
  19. __HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, pwmVal);
  20. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/565705
推荐阅读
相关标签
  

闽ICP备14008679号