- 什么是定时器?
定时器内部有一个计数器,每隔一个固定时间,计数器增加1。这个固定时间就是时钟信号周期。(时钟信号是由总线时钟通过定时器内部的预分频器得到的,总线时钟与分频系数相除得到计数值增加频率)
- 计数值的增加是有限度的吗?
计数值是有最大值的,当它达到最大值的时候就会产生一个溢出,然后计数值就会自动的回到零点,开始重新向上计数。这个最大值就是重装载值。
- 什么是定时器中断?
定时器中断产生在计数器发生溢出的时候。
1.配置GPIO(RCC、SYS、时钟树请参照笔记1、笔记2)
2.定时器配置
3.中断配置
4.生成代码,在main.c中添加代码
HAL_TIM_Base_Start_IT(&htim2);//htim2 tim2的句柄 ... void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_10); }
烧入后的现象是有一个LED闪烁,闪烁周期是1s