文章目录
基于STM32CubMX和HAL库的外设开发
第八讲 定时器
8.1 定时器原理
- 在stm32的内部计数寄存器中,有一个寄存器初值,随着时钟每增加一个脉冲,相应的寄存器初值就会减少1
- 当计数到0时,再来一个脉冲就会产生中断,(假设此时过了N个时间脉冲)用户计数器就会加1。因此,用户计数器每加1,就相当于过了N个时间脉冲
- 由此看来,我们可以通过改变寄存器初值来改变用户计数的快慢(即脉冲个数的多少)
8.2基本定时器的单脉冲触发
示例一:用TIME4产生1s定时,1s定时到达时,GPIO-PB5接的LED3反转
8.2.1定时器配置
打开定时器中的单脉冲模式
8.2.2代码实现
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);
}