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

前言

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

一、定时器介绍

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

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

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

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

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

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

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

1.CubeMX配置

1.选择单片机型号
在这里插入图片描述
2.设置引脚功能
在这里插入图片描述
3.选择时钟源
在这里插入图片描述
4.开启Debug仿真
在这里插入图片描述
5.配置定时器
在这里插入图片描述

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

6.配置时钟树
在这里插入图片描述

7.创建工程
在这里插入图片描述

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口的电平进行反转(低-高,高—低)
  }
}

总结

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

版权声明:本文为CSDN博主「精通嵌入式」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_49476241/article/details/122769831

生成海报
点赞 0

精通嵌入式

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

stm32使用CubeMX配置LED灯闪烁

前言 本篇文章将带大家学习如何使一个LED灯闪烁。 一、cubeMX配置 CubeMX配置和点亮一个LED的配置方法是一样的,点亮一个LED灯。 二、使用HAL库函数点亮LED灯 HAL_GPIO_WritePin(GP

stm32CubeMX点亮一个LED灯

本篇文章将带大家使用CubeMX配置stm32点亮一个LED灯。一、CubeMX配置LED IO口 1.单片机型号选择: 这里我使用的是正点原子的精英版,大家可以根据自己的单片机选择相应的型号。 2.IO口及其他

STM32F2————配置时钟延迟不准的问题

STM32F2配置时钟问题 笔者在本科毕业设计使用STM32F207芯片,但是在配置时钟时出现了问题。 问题 我按照F1写代码的延时函数放在F2竟然不准了 换个办法 使用Systick时钟也是不准,原因是笔者代