在串口初始化以后,读取一下USART_FLAG_TC标志位。
//······
/* Configure USARTy */
USART_Init(USART2, &USART_InitStructure);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//接收非空
/* Enable the USARTy */
USART_Cmd(USART2, ENABLE);
USART_GetFlagStatus(USART2, USART_FLAG_TC);
//······
也可以清一下这个标志位。
//······
/* Configure USARTy */
USART_Init(USART2, &USART_InitStructure);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//接收非空
/* Enable the USARTy */
USART_Cmd(USART2, ENABLE);
USART_ClearFlag(USART2,USART_FLAG_TC);
//······
但是如果初始化后直接清会失效,需要等待一段时间间隔以后才能清。