1. 程式人生 > >STM32F103的普通定時器中斷問題,存在開機後初始化,一開啟允許中斷,定時器立刻進入中斷函式一次

STM32F103的普通定時器中斷問題,存在開機後初始化,一開啟允許中斷,定時器立刻進入中斷函式一次

問題:

存在開機後初始化,在TIM3_Int_Init()裡面,一開啟允許中斷函式TIM_ITConfig(),定時器立刻進入中斷函式一次。只進一次。
初始化函式最後已經關閉定時器:
TIM_Cmd(TIM3, DISABLE);  //暫關閉TIMx外設。將這個函式提到初始化最前面也沒用。

解決方法:

總結:應該是TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);產生了更新事件,只要將 
TIM_ClearFlag(TIM5, TIM_FLAG_Update);
 TIM_ITConfig(TIM5,TIM_IT_Update,ENABLE);

 放在TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);的後面,就不會出現一開允許中斷函式TIM_ITConfig(),定時器立刻進入中斷函式一次的情況。 
IM_Cmd(TIM5, ENABLE); 放前放後無所謂,他只是讓計數器開始計數,只是放後面的話可能需要將計數器清零。 

希望對:解決一開允許中斷函式TIM_ITConfig(),定時器立刻進入中斷函式一次;有幫助。