本帖最后由 yzzly 于 2018-12-5 09:14 编辑
定时器进入更新中断后,发现TIM4->SR=0x1F
void TIM4_IRQHandler(void)
{
if(TIM4->SR & TIM_IT_Update)
{
TIM_ClearITPendingBit(TIM4,TIM_IT_Update);
}
if(TIM4->SR & TIM_IT_CC1)
{
TIM_ClearITPendingBit(TIM4,TIM_IT_CC1);
}
if(TIM4->SR & TIM_IT_CC2)
{
TIM_ClearITPendingBit(TIM4,TIM_IT_CC2);
}
if(TIM4->SR & TIM_IT_CC3)
{
TIM_ClearITPendingBit(TIM4,TIM_IT_CC3);
}
if(TIM4->SR & TIM_IT_CC4)
{
TIM_ClearITPendingBit(TIM4,TIM_IT_CC4);
}
}
事实上程序只使能了更新中断,并没有使能比较中断,
并且不能清除,TIM4->SR=0都不行,究竟怎么回事?
|