stm32串口通信如何实现二次发送仍显示上次的内容

2019-07-14 23:37发布

我想实现串口中断接收上位机发过来的字符串,判断后,显示其相关信息。第一次发送后,显示的内容正确,但第二次发送其他的字符串时,显示的仍然是第一次的内容,不知道为什么,还请各位大神多多帮助?这是中断程序:
void USART1_IRQHandler(void)   
{   
                                if(USART_GetiTStatus(USART1,USART_IT_RXNE) != RESET) //中断产生
                                {   
                                        USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除中断标志
                                        Uart1_Buffer[Uart1_Rx_Num] = USART_ReceiveData(USART1);
                                        Uart1_Rx_Num++;  
                                }   
                                if((Uart1_Buffer[0] == 0x5A)&&(Uart1_Buffer[Uart1_Rx_Num-1] == 0xA5))  //判断最后接收的数据是否为设定值,确定数据正确性  
                                        Uart1_Sta=1;  
                                if(USART_GetFlagStatus(USART1,USART_FLAG_ORE) == SET) //溢出
                                {
                                                USART_ClearFlag(USART1,USART_FLAG_ORE);  //读SR
                                                USART_ReceiveData(USART1); //读DR   
                                }      

}注:数组长度固定位3
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。