we cannot first chage the state and then transmit the byte asynchronously later, this introduces race conditions. Do it in-line by explicit calls to the UART Tx function.