UDRE выставляется раньше (грубо говоря, в начале передачи байта), а TXC - позже (после завершения передачи байта). Используется в основном для организации "бесшовной" передачи - можно готовить следующий байт заранее и загонять его в UDR сразу после установки UDRE, т.е. не дожидаясь TXC