USART_FLAG_TXE:表示数据缓冲区是否为空,为空时置1,表示可以写数据到数据缓冲区,有可能数据没有发送完。
USART_FLAG_TC:表示数据缓冲区的数据发送是否完成。如果最后一次发送到数据缓冲区的数据完成了从移位寄存器到
信号线TX时,才置1,表示数据发送完成,也就是说,这个标志位真正表示数据发送完成。
清除TC需要:1.读SR寄存器 & 写DR寄存器 ;或者 2.直接给TC赋值0;
USART>SR;
USART_GetFlagStatus(USART1,USART_FLAG_TC);
USART_ClearFlag(USARTx, USART_FLAG_TC);