[][src]Struct stm32f1xx_hal::serial::Serial

pub struct Serial<USART, PINS> { /* fields omitted */ }

Serial abstraction

Methods

impl<PINS> Serial<USART1, PINS>[src]

USART1 functions

The behaviour of the functions is equal for all three USARTs. Except that they are using the corresponding USART hardware and pins.

pub fn usart1(
    usart: USART1,
    pins: PINS,
    mapr: &mut MAPR,
    baud_rate: Bps,
    clocks: Clocks,
    apb: &mut APB2
) -> Self where
    PINS: Pins<USART1>, 
[src]

Configures the serial interface and creates the interface struct.

Bps is the baud rate of the interface.

Clocks passes information about the current frequencies of the clocks. The existence of the struct ensures that the clock settings are fixed.

The serial struct takes ownership over the USARTX device registers and the specified PINS

MAPR and APBX are register handles which are passed for configuration. (MAPR is used to map the USART to the corresponding pins. APBX is used to reset the USART.)

pub fn listen(&mut self, event: Event)[src]

Starts listening to the USART by enabling the Received data ready to be read (RXNE) interrupt and Transmit data register empty (TXE) interrupt

pub fn unlisten(&mut self, event: Event)[src]

Stops listening to the USART by disabling the Received data ready to be read (RXNE) interrupt and Transmit data register empty (TXE) interrupt

pub fn release(self) -> (USART1, PINS)[src]

Returns ownership of the borrowed register handles

pub fn split(self) -> (Tx<USART1>, Rx<USART1>)[src]

Separates the serial struct into separate channel objects for sending (Tx) and receiving (Rx)

impl<PINS> Serial<USART2, PINS>[src]

USART2 functions

The behaviour of the functions is equal for all three USARTs. Except that they are using the corresponding USART hardware and pins.

pub fn usart2(
    usart: USART2,
    pins: PINS,
    mapr: &mut MAPR,
    baud_rate: Bps,
    clocks: Clocks,
    apb: &mut APB1
) -> Self where
    PINS: Pins<USART2>, 
[src]

Configures the serial interface and creates the interface struct.

Bps is the baud rate of the interface.

Clocks passes information about the current frequencies of the clocks. The existence of the struct ensures that the clock settings are fixed.

The serial struct takes ownership over the USARTX device registers and the specified PINS

MAPR and APBX are register handles which are passed for configuration. (MAPR is used to map the USART to the corresponding pins. APBX is used to reset the USART.)

pub fn listen(&mut self, event: Event)[src]

Starts listening to the USART by enabling the Received data ready to be read (RXNE) interrupt and Transmit data register empty (TXE) interrupt

pub fn unlisten(&mut self, event: Event)[src]

Stops listening to the USART by disabling the Received data ready to be read (RXNE) interrupt and Transmit data register empty (TXE) interrupt

pub fn release(self) -> (USART2, PINS)[src]

Returns ownership of the borrowed register handles

pub fn split(self) -> (Tx<USART2>, Rx<USART2>)[src]

Separates the serial struct into separate channel objects for sending (Tx) and receiving (Rx)

impl<PINS> Serial<USART3, PINS>[src]

USART3 functions

The behaviour of the functions is equal for all three USARTs. Except that they are using the corresponding USART hardware and pins.

pub fn usart3(
    usart: USART3,
    pins: PINS,
    mapr: &mut MAPR,
    baud_rate: Bps,
    clocks: Clocks,
    apb: &mut APB1
) -> Self where
    PINS: Pins<USART3>, 
[src]

Configures the serial interface and creates the interface struct.

Bps is the baud rate of the interface.

Clocks passes information about the current frequencies of the clocks. The existence of the struct ensures that the clock settings are fixed.

The serial struct takes ownership over the USARTX device registers and the specified PINS

MAPR and APBX are register handles which are passed for configuration. (MAPR is used to map the USART to the corresponding pins. APBX is used to reset the USART.)

pub fn listen(&mut self, event: Event)[src]

Starts listening to the USART by enabling the Received data ready to be read (RXNE) interrupt and Transmit data register empty (TXE) interrupt

pub fn unlisten(&mut self, event: Event)[src]

Stops listening to the USART by disabling the Received data ready to be read (RXNE) interrupt and Transmit data register empty (TXE) interrupt

pub fn release(self) -> (USART3, PINS)[src]

Returns ownership of the borrowed register handles

pub fn split(self) -> (Tx<USART3>, Rx<USART3>)[src]

Separates the serial struct into separate channel objects for sending (Tx) and receiving (Rx)

Auto Trait Implementations

impl<USART, PINS> Send for Serial<USART, PINS> where
    PINS: Send,
    USART: Send

impl<USART, PINS> Sync for Serial<USART, PINS> where
    PINS: Sync,
    USART: Sync

Blanket Implementations

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> From for T[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same for T

type Output = T

Should always be Self