串口发送时,发送完成标志位是怎么处理的?

2019-07-20 00:57发布

阿波罗开发板,F429,串口通信实验,串口发送数据的有关代码如下:
  1. for(t=0;t<len;t++)
  2.                         {
  3.                                 USART1->DR=USART_RX_BUF[t];
  4.                                 while((USART1->SR&0X40)==0);//等待发送结束
  5.                         }
复制代码向串口赋值后,通过测试SR寄存器的TC标志位,等待该次发送完成,然后再发送下一个数据。
当本次数据发送完成,TC被置位后,从代码中看不出来在进入下一个数据发送前,TC是如何被清零的。
是硬件自动清零的吗?具体是怎样的过程?求高手指教,谢谢!


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