pub struct Usart<'a, DMA: StreamServer<'a>> { /* private fields */ }
Implementations§
source§impl<'a> Usart<'a, Dma1<'a>>
impl<'a> Usart<'a, Dma1<'a>>
pub fn new_usart2(rcc: &'a Rcc) -> Self
pub fn new_usart3(rcc: &'a Rcc) -> Self
source§impl<'a, DMA: StreamServer<'a>> Usart<'a, DMA>
impl<'a, DMA: StreamServer<'a>> Usart<'a, DMA>
pub fn is_enabled_clock(&self) -> bool
pub fn enable_clock(&self)
pub fn disable_clock(&self)
pub fn set_dma(&self, tx_dma: TxDMA<'a, DMA>, rx_dma: RxDMA<'a, DMA>)
pub fn handle_interrupt(&self)
pub fn send_byte(&self, byte: u8)
Trait Implementations§
source§impl<'a, DMA: StreamServer<'a>> Configure for Usart<'a, DMA>
impl<'a, DMA: StreamServer<'a>> Configure for Usart<'a, DMA>
source§impl<'a, DMA: StreamServer<'a>> DeferredCallClient for Usart<'a, DMA>
impl<'a, DMA: StreamServer<'a>> DeferredCallClient for Usart<'a, DMA>
source§impl<'a, DMA: StreamServer<'a>> Receive<'a> for Usart<'a, DMA>
impl<'a, DMA: StreamServer<'a>> Receive<'a> for Usart<'a, DMA>
source§fn set_receive_client(&self, client: &'a dyn ReceiveClient)
fn set_receive_client(&self, client: &'a dyn ReceiveClient)
Set the receive client, which will he called when reads complete.
source§fn receive_buffer(
&self,
rx_buffer: &'static mut [u8],
rx_len: usize
) -> Result<(), (ErrorCode, &'static mut [u8])>
fn receive_buffer( &self, rx_buffer: &'static mut [u8], rx_len: usize ) -> Result<(), (ErrorCode, &'static mut [u8])>
Receive
rx_len
bytes into rx_buffer
, making a callback to
the ReceiveClient
when complete. If the Result<(), ErrorCode>
of
receive_buffer
’s return is Ok(())
, the struct will issue a received_buffer
callback in the future. If the value of the Result<(), ErrorCode>
is
Err()
, then the rx_buffer
argument is returned in the
Err()
. Valid ErrorCode
values are: Read moresource§fn receive_word(&self) -> Result<(), ErrorCode>
fn receive_word(&self) -> Result<(), ErrorCode>
Receive a single word of data. The word length is determined
by the UART configuration: it can be 6, 7, 8, or 9 bits long.
If the
Result<(), ErrorCode>
is Ok(()), on completion,
received_word
will be called on the ReceiveClient
.
Other valid ErrorCode
values are: Read moresource§fn receive_abort(&self) -> Result<(), ErrorCode>
fn receive_abort(&self) -> Result<(), ErrorCode>
Abort any ongoing receive transfers and return what is in the
receive buffer with the
receive_complete
callback. If
Ok(()) is returned, there will be no callback (no call to
receive
was outstanding). If there was a receive
outstanding, which is cancelled successfully then BUSY
will
be returned and there will be a callback with a Result<(), ErrorCode>
of CANCEL
. If there was a reception outstanding, which is
not cancelled successfully, then FAIL
will be returned and
there will be a later callback.source§impl<'a> StreamClient<'a, Dma1<'a>> for Usart<'a, Dma1<'a>>
impl<'a> StreamClient<'a, Dma1<'a>> for Usart<'a, Dma1<'a>>
fn transfer_done(&self, pid: Dma1Peripheral)
source§impl<'a> StreamClient<'a, Dma2<'a>> for Usart<'a, Dma2<'a>>
impl<'a> StreamClient<'a, Dma2<'a>> for Usart<'a, Dma2<'a>>
fn transfer_done(&self, pid: Dma2Peripheral)
source§impl<'a, DMA: StreamServer<'a>> Transmit<'a> for Usart<'a, DMA>
impl<'a, DMA: StreamServer<'a>> Transmit<'a> for Usart<'a, DMA>
source§fn set_transmit_client(&self, client: &'a dyn TransmitClient)
fn set_transmit_client(&self, client: &'a dyn TransmitClient)
Set the transmit client, which will be called when transmissions
complete.
source§fn transmit_buffer(
&self,
tx_data: &'static mut [u8],
tx_len: usize
) -> Result<(), (ErrorCode, &'static mut [u8])>
fn transmit_buffer( &self, tx_data: &'static mut [u8], tx_len: usize ) -> Result<(), (ErrorCode, &'static mut [u8])>
Transmit a buffer of data. On completion,
transmitted_buffer
in the TransmitClient
will be called. If the Result<(), ErrorCode>
returned by transmit
is an Ok(())
, the struct will issue a transmitted_buffer
callback in the future. If the value of the Result<(), ErrorCode>
is
Err(), then the
tx_bufferargument is returned in the
Err(), along with the
ErrorCode. Valid
ErrorCode` values are: Read moresource§fn transmit_word(&self, _word: u32) -> Result<(), ErrorCode>
fn transmit_word(&self, _word: u32) -> Result<(), ErrorCode>
Transmit a single word of data asynchronously. The word length is
determined by the UART configuration: it can be 6, 7, 8, or 9 bits long.
If the
Result<(), ErrorCode>
is Ok(()), on completion,
transmitted_word
will be called on the TransmitClient
.
Other valid Result<(), ErrorCode>
values are: Read moresource§fn transmit_abort(&self) -> Result<(), ErrorCode>
fn transmit_abort(&self) -> Result<(), ErrorCode>
Abort an outstanding call to
transmit_word
or transmit_buffer
.
The return code indicates whether the call has fully terminated or
there will be a callback. Cancelled calls to transmit_buffer
MUST
always make a callback, to return the passed buffer back to the caller. Read moreAuto Trait Implementations§
impl<'a, DMA> !Freeze for Usart<'a, DMA>
impl<'a, DMA> !RefUnwindSafe for Usart<'a, DMA>
impl<'a, DMA> !Send for Usart<'a, DMA>
impl<'a, DMA> !Sync for Usart<'a, DMA>
impl<'a, DMA> Unpin for Usart<'a, DMA>
impl<'a, DMA> !UnwindSafe for Usart<'a, DMA>
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