欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

STM32CubeMX配置定时器中断

程序员文章站 2022-06-11 18:08:50
...

定时器是单片机中很常见且很实用的一个功能。STM32的定时器功能非常强大,有基本定时器、通用定时器和高级定时器之分,能实现很多复杂的功能。这里只介绍定时器的基本功能——定时,并产生一个中断。

前期准备

在开始配置定时器之前,我们要先创建好STM32CubeMX的工程,并配置好芯片的RCC、Debug,设置好芯片的主频(关系到定时时间的设置)

配置TIM

这里我们配置定时器一的10ms一次的中断
在右边栏中选择TIM1
STM32CubeMX配置定时器中断
将定时器的时钟源设置为内部时钟
STM32CubeMX配置定时器中断
在下面的Parameter Settings中设置定时器的定时时间
计算公式
STM32CubeMX配置定时器中断
T为定时时间,Psc为预分频数,Arr为自动重装载寄存器的值,Tclk为定时器的输入时钟。
这里为T为10ms,Tclk为72MHz,设置Psc为72-1,Arr为10000-1
配置好定时器的时间后在NVIC Setting中打开定时器的更新中断
STM32CubeMX配置定时器中断
到这里,定时器1计时10ms并产生中断的配置已经完成

开启定时器

HAL_TIM_Base_Start_IT(&htim1)

中断回调函数

void HAL_TIM_PeriodElapsedCallback(htim)
{
	
}