问题:
存在开机后初始化,在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(),定时器立刻进入中断函数一次;有帮助。
问题:
存在开机后初始化,在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(),定时器立刻进入中断函数一次;有帮助。
举报