为什么定时器中断要清除而串口不必?

2019-08-20 15:50发布

光盘资料中的串口实验和定时器实验中,为什么定时器的中断函数中有清除中断标志位,而串口的中断函数中没有啊?
而且我自己写程序的时候如果不把定时器中断清除他好像会一直产生中断。

这是串口接收中断函数代码

void USART1_IRQHandler(void)
{
        u8 res;
         if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
     res= USART_ReceiveData(USART1);
     USART_SendData(USART1,res);   
  }
}

这是定时器向上计数中断函数代码

void TIM3_IRQHandler(void)   //TIM3中断
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //检查TIM3更新中断发生与否
                {
                TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIMx更新中断标志
                LED1=!LED1;
                }
}

新人求指教~!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。