STM32F407VET6 Cubemx配置TIM2实现0.5s中断

Cubemx中配置TIM2

使用TIM2定时器中断处理程序来完成LED闪烁。让我们配置一个 STM32 定时器,使其每 500 ms 产生一个中断。

1.1 Mode

Clock Source 选择“Internal Clock”

1.2 Configuration

TIM2 连接到默认频率为 84 MHz 的 APB1 总线(在以后的一篇文章中,我将描述如何设置所有总线的不同频率)。让我们将预分频器值设置为 42000(在计数器设置中,我们应该输入 (PSC - 1) 值)。因此,要计算定时器频率,我们应该将 APB1 频率除以 42000 预分频器:
Ft = 84MHz / 42000 = 1000Hz;

此外,我们应该设置适当的计数器周期值。如果我们将其设置为 500,我们将获得以下计时器周期值:
T = (1/Ft)*500 = 0.5s

1.3 TIM2 Run

TIM2 配置的最后一步是启用它的中断。这可以在“Nvic 设置”选项卡中完成。最后,让我们开始代码生成!结果我们得到了带有定时器初始化函数和中断处理程序的新项目。所有中断都位于一个名为stm32f4xx_it.c的文件中)。还应该做的是启动定时器计数(HAL_TIM_Base_Start_IT()函数)并在中断处理程序中添加一些额外的代码

TIM2启动函数添加至初始化函数中(什么时候启动放到那个位置这个自己说了算)
static void MX_TIM2_Init(void)
{

/* USER CODE BEGIN TIM2_Init 2 /
HAL_TIM_Base_Start_IT(&htim2);
/
USER CODE END TIM2_Init 2 */
}

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39835514/article/details/127223444