What is the difference between RDA(receive data available) and RDR (receive data ready)? In IRQ where exactly the data should be collected in UART_Buffer[].
You think it might help to specify the processor you're talking about? What does the Technical/Reference Manual for your part say?