Module wio_lite_mg126::sercom
source ·
[−]Expand description
Configure the SERCOM peripherals
The SERCOM module is used to configure the SERCOM peripherals as USART, SPI or I2C interfaces.
Versions
There are currently two versions of the SERCOM module. The inital SERCOM API was based on a macro-heavy implementation. The discussion in issue #214 spurred the creation of a new module with less macro-use and a refactored API.
The new module is provided in v2. The old module was removed, but a compatibility shim is provided in v1 to support existing code.
Migration
The v2 module will eventually replace v1. New users are encouraged to use v2 instead of v1.
The new v2::spi
and v2::uart
modules are substantially more
configurable and safe than the existing, v1::spi
and v1::uart
modules. To assist in migration, the v2::spi::Pads
and
v2::uart::Pads
structs accept both v1::Pin
s and v2::Pin
s.
Modules
Structs
Represents the Sercom instance configured to act as an I2C Master. The embedded_hal blocking I2C traits are implemented by this instance.
Represents the Sercom instance configured to act as an I2C Master. The embedded_hal blocking I2C traits are implemented by this instance.
Represents the Sercom instance configured to act as an I2C Master. The embedded_hal blocking I2C traits are implemented by this instance.
Represents the Sercom instance configured to act as an I2C Master. The embedded_hal blocking I2C traits are implemented by this instance.
Represents the Sercom instance configured to act as an I2C Master. The embedded_hal blocking I2C traits are implemented by this instance.
Represents the Sercom instance configured to act as an I2C Master. The embedded_hal blocking I2C traits are implemented by this instance.
A pad mapping configuration for the receiving half of the SERCOM in UART mode.
SPIMasterX represents the corresponding SERCOMX instance
configured to act in the role of an SPI Master.
Objects of this type implement the HAL FullDuplex
and blocking
SPI traits.
SPIMasterX represents the corresponding SERCOMX instance
configured to act in the role of an SPI Master.
Objects of this type implement the HAL FullDuplex
and blocking
SPI traits.
SPIMasterX represents the corresponding SERCOMX instance
configured to act in the role of an SPI Master.
Objects of this type implement the HAL FullDuplex
and blocking
SPI traits.
SPIMasterX represents the corresponding SERCOMX instance
configured to act in the role of an SPI Master.
Objects of this type implement the HAL FullDuplex
and blocking
SPI traits.
SPIMasterX represents the corresponding SERCOMX instance
configured to act in the role of an SPI Master.
Objects of this type implement the HAL FullDuplex
and blocking
SPI traits.
SPIMasterX represents the corresponding SERCOMX instance
configured to act in the role of an SPI Master.
Objects of this type implement the HAL FullDuplex
and blocking
SPI traits.
A pad mapping configuration for the transmitting half of the SERCOM in UART mode.
UARTX represents the corresponding SERCOMX instance
configured to act in the role of a UART Master.
Objects of this type implement the HAL serial::Read
,
serial::Write
traits.
The receiving half of the corresponding UARTX instance (as returned by UARTX::split
)
The transmitting half of the corresponding UARTX instance (as returned by UARTX::split
)
UARTX represents the corresponding SERCOMX instance
configured to act in the role of a UART Master.
Objects of this type implement the HAL serial::Read
,
serial::Write
traits.
The receiving half of the corresponding UARTX instance (as returned by UARTX::split
)
The transmitting half of the corresponding UARTX instance (as returned by UARTX::split
)
UARTX represents the corresponding SERCOMX instance
configured to act in the role of a UART Master.
Objects of this type implement the HAL serial::Read
,
serial::Write
traits.
The receiving half of the corresponding UARTX instance (as returned by UARTX::split
)
The transmitting half of the corresponding UARTX instance (as returned by UARTX::split
)
UARTX represents the corresponding SERCOMX instance
configured to act in the role of a UART Master.
Objects of this type implement the HAL serial::Read
,
serial::Write
traits.
The receiving half of the corresponding UARTX instance (as returned by UARTX::split
)
The transmitting half of the corresponding UARTX instance (as returned by UARTX::split
)
UARTX represents the corresponding SERCOMX instance
configured to act in the role of a UART Master.
Objects of this type implement the HAL serial::Read
,
serial::Write
traits.
The receiving half of the corresponding UARTX instance (as returned by UARTX::split
)
The transmitting half of the corresponding UARTX instance (as returned by UARTX::split
)
UARTX represents the corresponding SERCOMX instance
configured to act in the role of a UART Master.
Objects of this type implement the HAL serial::Read
,
serial::Write
traits.
The receiving half of the corresponding UARTX instance (as returned by UARTX::split
)
The transmitting half of the corresponding UARTX instance (as returned by UARTX::split
)
Enums
Traits
Type class to improve compatibility between v1
and v2
SERCOM pad types
The DipoDopo trait defines a way to get the data in and data out pin out values for a given SPIMasterXPadout configuration. You should not implement this trait for yourself; only the implementations in the sercom module make sense.
The PadPin trait makes it more ergonomic to convert a pin into a Sercom pad. You should not implement this trait for yourself; only the implementations in the sercom module make sense.
The RxpoTxpo trait defines a way to get the data in and data out pin out values for a given UARTXPadout configuration. You should not implement this trait for yourself; only the implementations in the sercom module make sense.
Type Definitions
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.
Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.