fixed bug: if FIFO is empty, write first byte directly to UART output
port after enabling uart ready interrupt