pub fn read_byte(&mut self) -> nb::Result<u8, Error> {
        if self.rx_fifo_count() > 0 {
            let byte = self.uart.fifo().read().rxfifo_rd_byte().bits();
            Ok(byte)
        } else {
            Err(nb::Error::WouldBlock)
        }
    }
Read a single byte from the UART in a non-blocking manner.
esp-lp-hal/src/uart.rs