STM32CubeMX配置定时器中断
程序员文章站
2022-06-11 18:08:50
...
定时器是单片机中很常见且很实用的一个功能。STM32的定时器功能非常强大,有基本定时器、通用定时器和高级定时器之分,能实现很多复杂的功能。这里只介绍定时器的基本功能——定时,并产生一个中断。
前期准备
在开始配置定时器之前,我们要先创建好STM32CubeMX的工程,并配置好芯片的RCC、Debug,设置好芯片的主频(关系到定时时间的设置)
配置TIM
这里我们配置定时器一的10ms一次的中断
在右边栏中选择TIM1
将定时器的时钟源设置为内部时钟
在下面的Parameter Settings中设置定时器的定时时间
计算公式
T为定时时间,Psc为预分频数,Arr为自动重装载寄存器的值,Tclk为定时器的输入时钟。
这里为T为10ms,Tclk为72MHz,设置Psc为72-1,Arr为10000-1
配置好定时器的时间后在NVIC Setting中打开定时器的更新中断
到这里,定时器1计时10ms并产生中断的配置已经完成
开启定时器
HAL_TIM_Base_Start_IT(&htim1)
中断回调函数
void HAL_TIM_PeriodElapsedCallback(htim)
{
}