void USART1_IRQHandler(void) 
{ 
    int a=0; 
 
    if ((RESET != USART_GetITStatus(USART1, USART_IT_PE)) || 
        (RESET != USART_GetITStatus(USART1, USART_IT_ERR))) 
    { 
        a=USART1->SR; 
        a=USART1->DR;//软件序列清除IDLE标志位 
        USART_SendData(USART1,52); 
    } 
 
    if (RESET != USART_GetITStatus(USART1, USART_IT_RXNE)) 
    { 
        RX_one[i] = USART_ReceiveData(USART1); 
        RX_flat = 0; 
        USART_SendData(USART1,RX_one[i]); 
        i++; 
    } 
 
    if (RESET != USART_GetITStatus(USART1, USART_IT_IDLE)) 
    { 
        a=USART1->SR; 
        a=USART1->DR;//软件序列清除IDLE标志位 
 
        RX_one[i] = '\0';USART_SendData(USART1,53); 
        RX_flat = 1; 
 
    }    
} 
 |