首页 > 代码库 > stm32通用定时器中断问题
stm32通用定时器中断问题
在使用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先后顺序一定不能错。如果顺序错了,也会立刻进入中断处理函数。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。