pub struct BufferedUartTx<'d, T: Instance> { /* private fields */ }
Expand description
Buffered UART TX handle.
Implementations§
Source§impl<'d, T: Instance> BufferedUartTx<'d, T>
impl<'d, T: Instance> BufferedUartTx<'d, T>
Sourcepub fn new(
_uart: impl Peripheral<P = T> + 'd,
irq: impl Binding<T::Interrupt, BufferedInterruptHandler<T>>,
tx: impl Peripheral<P = impl TxPin<T>> + 'd,
tx_buffer: &'d mut [u8],
config: Config,
) -> Self
pub fn new( _uart: impl Peripheral<P = T> + 'd, irq: impl Binding<T::Interrupt, BufferedInterruptHandler<T>>, tx: impl Peripheral<P = impl TxPin<T>> + 'd, tx_buffer: &'d mut [u8], config: Config, ) -> Self
Create a new buffered UART TX.
Sourcepub fn new_with_cts(
_uart: impl Peripheral<P = T> + 'd,
irq: impl Binding<T::Interrupt, BufferedInterruptHandler<T>>,
tx: impl Peripheral<P = impl TxPin<T>> + 'd,
cts: impl Peripheral<P = impl CtsPin<T>> + 'd,
tx_buffer: &'d mut [u8],
config: Config,
) -> Self
pub fn new_with_cts( _uart: impl Peripheral<P = T> + 'd, irq: impl Binding<T::Interrupt, BufferedInterruptHandler<T>>, tx: impl Peripheral<P = impl TxPin<T>> + 'd, cts: impl Peripheral<P = impl CtsPin<T>> + 'd, tx_buffer: &'d mut [u8], config: Config, ) -> Self
Create a new buffered UART TX with flow control.
Sourcepub fn blocking_write(&mut self, buf: &[u8]) -> Result<usize, Error>
pub fn blocking_write(&mut self, buf: &[u8]) -> Result<usize, Error>
Write to UART TX buffer blocking execution until done.
Sourcepub fn blocking_flush(&mut self) -> Result<(), Error>
pub fn blocking_flush(&mut self) -> Result<(), Error>
Flush UART TX blocking execution until done.
Sourcepub async fn send_break(&mut self, bits: u32)
pub async fn send_break(&mut self, bits: u32)
Assert a break condition after waiting for the transmit buffers to empty,
for the specified number of bit times. This condition must be asserted
for at least two frame times to be effective, bits
will adjusted
according to frame size, parity, and stop bit settings to ensure this.
This method may block for a long amount of time since it has to wait for the transmit fifo to empty, which may take a while on slow links.
Trait Implementations§
Source§impl<'d, T: Instance> Drop for BufferedUartTx<'d, T>
impl<'d, T: Instance> Drop for BufferedUartTx<'d, T>
Source§impl<'d, T: Instance> ErrorType for BufferedUartTx<'d, T>
impl<'d, T: Instance> ErrorType for BufferedUartTx<'d, T>
Source§impl<'d, T: Instance + 'd> Write for BufferedUartTx<'d, T>
impl<'d, T: Instance + 'd> Write for BufferedUartTx<'d, T>
Source§async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>
async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>
Write a buffer into this writer, returning how many bytes were written. Read more
Source§impl<'d, T: Instance + 'd> Write for BufferedUartTx<'d, T>
impl<'d, T: Instance + 'd> Write for BufferedUartTx<'d, T>
Source§fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>
fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>
Write a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<(), Self::Error>
fn flush(&mut self) -> Result<(), Self::Error>
Flush this output stream, blocking until all intermediately buffered contents reach their destination.
Source§impl<'d, T: Instance> Write for BufferedUartTx<'d, T>
impl<'d, T: Instance> Write for BufferedUartTx<'d, T>
Auto Trait Implementations§
impl<'d, T> Freeze for BufferedUartTx<'d, T>
impl<'d, T> RefUnwindSafe for BufferedUartTx<'d, T>where
T: RefUnwindSafe,
impl<'d, T> Send for BufferedUartTx<'d, T>where
T: Send,
impl<'d, T> Sync for BufferedUartTx<'d, T>where
T: Sync,
impl<'d, T> Unpin for BufferedUartTx<'d, T>
impl<'d, T> !UnwindSafe for BufferedUartTx<'d, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.