在运用stm32的通用守时器守时中止的时分,发现守时器在完结初始化装备后,守时器UIF位会马上置位,导致在使能中止后,程序会马上进入守时器中止。
假如规划代码时不期望守时器装备完结后,马上进入中止,能够在守时器装备完结后,马上铲除UIF标志位(TIMx->SR&=0xFFFE),再使能守时器更新中止。比如用库函数这么写:
TIM_ClearITPendingBit(TIM4,TIM_IT_Update);
TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE);//使能TIM4的更新中止
TIM_Cmd(TIM4,ENABLE);
但又发现个特别古怪的问题,TIM_ClearITPendingBit和TIM_ITConfig先后次序必定不能错。假如次序错了,也会马上进入中止处理函数。