解决STM32定时器初始化后直接进入中断问题

解决STM32定时器初始化后直接进入中断问题


STM32初始化完毕后第一次启动定时器直接进入中断,原因是定时器的寄存器中断标识没有被清理掉。

如果使用标准库,先用TIM_ClearITPendingBit(TIM1, TIM_IT_Update)清除中断标记,然后使能定时器中断,最后启动定时器;

如果使用HAL库,在MX_TIMx_Init函数后紧跟着__HAL_TIM_CLEAR_IT(&htimX, TIM_IT_UPDATE)以此来清除中断标识位。


ends…

你可能感兴趣的:(STM32,STM32,定时器,定时器初始化直接进中断)