stm32学习笔记---hal库定时器中断的使用

为了实现在串口打印定时器记录秒数,先在stm32cubemx上配置,重点是预分频值和自动重装值的配置,因为二者决定了频率,我所使用的是f4,所以stm32学习笔记---hal库定时器中断的使用_第1张图片如此设置频率即500hz,周期为0.002s

还有:要记得打开定时器中断!!!!如图:
stm32学习笔记---hal库定时器中断的使用_第2张图片

打开keil5,使能计时器在这里插入图片描述
stm32学习笔记---hal库定时器中断的使用_第3张图片

下面是在tim.c中//注意!!一定要在tim.c里(我自己后来一次一直没初始化成功就是因为忘了这步)
stm32学习笔记---hal库定时器中断的使用_第4张图片即每个周期i+1,i=500即为一秒,此时在串口打印一次,
注意tim.c中的i要写为

extern uint16_t i;

即外部定义,指的是main.c中的i,

下面是在tim.c中添加的定时器中断的回调函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{
    if (htim->Instance == htim1.Instance)
    {
		i++;
    }
}

你可能感兴趣的:(stm32__学习笔记)