stm32使用cubeMX配置TIM定时器让LED灯闪烁

简介: stm32使用cubeMX配置TIM定时器让LED灯闪烁

前言

本文将介绍stm32定时器的使用

一、定时器介绍

定时器是单片机内部的特殊功能模块。


在控制系统中,常常要求有一些实时时钟以实现定时或者延时控制,如定时中断、定时检测、定时扫描等等,也往往要求有计数器,对外部事件进行计数。


要实现定时或者延时功能,一般有三种方法:软件定时,不可编程硬件定时,可编程硬件定时。


软件定时——让软件循环执行一段程序,程序本身并无执行目的,而是通过执行程序延时固定的时间,也就是以前的程序中经常使用的延时程序。这种方法降低了cpu的利用率。


不可编程硬件定时——如外部芯片555 时基电路,通过外部阻容,达到一定的延时功能,改变阻容大小可以改变延时长度。这种定时器取决于硬件,设定好以后不能通过软件更改。


可编程定时器——这种定时器的定时值可以通过软件确定和修改,使用灵活便捷。

二、CubeMX配置及工程代码讲解

1.CubeMX配置

1.选择单片机型号

image.png

2.设置引脚功能

image.png

3.选择时钟源

image.png

4.开启Debug仿真

image.png

5.配置定时器

image.png

image.png

image.png

定时器定时时间简单计算方法:这里我们时钟树选择的时钟频率是72MHZ,用72MHZ/72/50000就得到了计数的频率然后再取倒数就是我们想要的定时时间了。

6.配置时钟树

image.png

7.创建工程

image.png

2.代码讲解

  /* USER CODE BEGIN 2 */
  //start TIM1
  HAL_TIM_Base_Start_IT(&htim1);//以中断方式启动定时器
  /* USER CODE END 2 */
/* USER CODE BEGIN 0 */
//当到达指定定时值时进入中断执行中断任务
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  if(htim==&htim1)
  {
    HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);//对GPIO口的电平进行反转(低-高,高—低)
  }
}

总结

本文简单讲述了定时器中断的使用,主要就是要注意中断回调函数的使用方法,以及打开定时器的方法。

相关文章
|
1月前
stm32学习 3-2 LED流水灯
stm32学习 3-2 LED流水灯
69 4
|
1月前
stm32学习3-1 LED闪烁
stm32学习3-1 LED闪烁
34 4
|
4月前
STM32CubeMX FreeRTOS点亮LED
STM32CubeMX FreeRTOS点亮LED
78 10
|
4月前
STM32CubeMX 定时器
STM32CubeMX 定时器
149 0
|
4月前
STM32CubeMX 按键控制LED
STM32CubeMX 按键控制LED
69 0
|
4月前
STM32CubeMX 点亮LED
STM32CubeMX 点亮LED
60 0
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
428 2
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
694 0
|
5月前
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
503 4