当前位置:   article > 正文

零基础入门STM32编程(九)——定时器PWM呼吸灯(CUBEMX)_tim2_ch2

tim2_ch2

一 前言

前面章节我们学了如何使用定时器中断点灯,原理为定时器计数达到1s时产生中断,此时单片机调用中断服务函数,执行中断服务函数中的代码。本节我们通过定时器的PWM功能实现呼吸灯的功能。

二 定时器PWM功能

2.1 端口复用

定时器的PWM功能可通过单片机的指定引脚输出脉冲宽度调制(PWM),因此涉及了一个重要的名词——端口复用,如下图所示,给出了TIM2的复用功能重印射。图中可知,单片机的PB3引脚除了可作为通用输入输出引脚功能外,还可以作为定时器TIM2的通道2的输出引脚,这就是端口复用功能的含义。
在这里插入图片描述

2.2 PWM

STM32F103R6单片机的通用定时器均各有4个通道实现PWM输出功能。以向上计数为例,在下图中给出了产生PWM波形的原理,图中的纵坐标为当前定时器的计数值,横坐标为时间。在纵坐标上有两个刻度ARR为定时器的自动重载寄存器值,CCRx为捕获/比较寄存器值。
在这里插入图片描述
定时器开始计数,当CNT的值小于CCRx时,TIM2_CH2通道输出低电平,即占空比中的空;当CCRx<CNT<ARR时,TIM2_CH2通道输出高电平,即占空比中的占;当CNT>ARR时,TIM2_CH2通道本脉冲周期结束,CNT置零重新开始计数,如下图所示。

在这里插入图片描述

2.3 小结

由上面分析可知,ARR的值决定了脉冲PWM的周期;CCR的值决定了PWM的脉冲宽度即占空比中的占。

三 项目实战

这里通过CUBEMX配置单片机STM32F103R6的有关参数并生成工程代码。选择定时器TIM2中的通道CH2作为输出引脚PA1控制LED灯的亮灭,具体操作如下图所说。

在这里插入图片描述
这里用到的函数为HAL_TIM_PWM_Start,其作用是开启PWM信号产生器。
在这里插入图片描述
同时还用到了第二个宏定义__HAL_TIM_SetCompare,进行TIM捕获比较,这里实现呼吸灯的效果。
在这里插入图片描述
main.c中的main函数代码如下。改变占空比实现呼吸灯的效果。

int main(void)
{
  /* USER CODE BEGIN 1 */
 
    uint16_t dutycycle=0;     
  /* USER CODE END 1 */
 
  HAL_Init();
 
 
  SystemClock_Config();
 
  MX_GPIO_Init();
  MX_TIM2_Init();
  /* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim2);
 
  HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);
 
  while (1)
  {
    /* USER CODE END WHILE */
 while (dutycycle< 500)
	  {
		  dutycycle++;
		  __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2, dutycycle); 
     //TIM2->CCR2 = dutycycle; 
		  HAL_Delay(1);
	  }
	  while (dutycycle)
	  {
		  dutycycle--;
		  __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_2, dutycycle);      
  // TIM2->CCR2 = dutycycle; 
		  HAL_Delay(1);
	  }
 HAL_Delay(100);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

reference

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

闽ICP备14008679号