Content originally posted in LPCWare by PhilYoung on Sat Oct 20 16:11:55 MST 2012
The THR is not the transmit register, so any character you write to it will be transferred to the transmit register within a few clock cycles if there is nothing being transmitted, then you can write a second character to the THR, but writing to the THR when it is not empty will just overwrite the character stored in it so it doesn't get transmitted, you will see missing characters in the output stream but never corrupted characters.