定时器中断与串口发送

2019-07-20 19:52发布

用定时器3的中断控制串口的发送时,加上while(1)判断是否发送完毕就会影响主程序的运行,不加这句串口也不能正常发送数据但是LED灯会正常翻转。哪位大神能帮忙解决一下。

void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3,TIM_IT_Update))
{
  u8 size = sizeof(SEND_LEN);
  u8 t = 0;
  LED1=!LED1;//DS1·­×ª
  for(t=0;t<size;t++)
  {
   USART_SendData(USART1,SEND_LEN[t]);
   //while(USART_GetFlagStatus(USART1,USART_FLAG_TC));  //&Ouml;&ETH;&para;&Iuml;&sup2;&raquo;&Auml;&Uuml;&Ouml;&acute;&ETH;&ETH;&Otilde;&acirc;&cedil;&ouml;&Oacute;&iuml;&frac34;&auml;
  }
}
TIM_ClearITPendingBit(TIM3,TIM_IT_Update);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。