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中断*/
只处理一次现象
作者:是个懒人!