pub fn write_byte_nb(&mut self, word: u8) -> nb::Result<(), Error> {
        if self
            .regs()
            .ep1_conf()
            .read()
            .serial_in_ep_data_free()
            .bit_is_set()
        {
            // the FIFO is not full
            unsafe { self.regs().ep1().write(|w| w.rdwr_byte().bits(word)) };

            Ok(())
        } else {
            Err(nb::Error::WouldBlock)
        }
    }
Write data to the serial output in a non-blocking manner
Requires manual flushing (automatically flushed every 64 bytes)
esp-hal/src/usb_serial_jtag.rs