STM32 HAL库定时器定时功能详解

1、SYS

2、RCC

3、Clock

4、选择定时器

这里我选的TIM2

时钟72MHZ

这里我们arr = 9999   psc = 7199  tclk = 72mhz

Tout = (10000*7200)/72us = 1s

5、生成代码

6、进入main.c文件

在main函数中添加以下代码

	HAL_TIM_Base_Start_IT(&htim2);          /*使能定时器2中断*/
	HAL_ADCEx_Calibration_Start(&hadc1);    //AD校准

7、重写定时器中断回调函数

在函数中编写需要处理的逻辑

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if (htim == (&htim2))
    {
		printf("zhuzhuzhu\n");//打印
    }
}

7、编译下载,观察现象

定时器定时1s进入一次中断,需要多长时间自己设定

也就是1s串口打印一次

7、注:

只定时一次

每次需要使用手动开启手动关闭,便于自己掌控,个人比较喜欢用这种方式

相关函数

HAL_TIM_Base_Start_IT(&htim2);          /*使能定时器2中断*/
HAL_TIM_Base_Stop_IT(&htim2); /*关闭使能定时器2中断*/

只处理一次现象

作者:是个懒人!

物联沃分享整理
物联沃-IOTWORD物联网 » STM32 HAL库定时器定时功能详解

发表回复