|
enum | DataMode : uint32_t { DataMode::Mode0 = 0b00,
DataMode::Mode1 = SPI_CR1_CPHA,
DataMode::Mode2 = SPI_CR1_CPOL,
DataMode::Mode3 = SPI_CR1_CPOL | SPI_CR1_CPHA
} |
| Spi Data Mode, Mode0 is the most common mode. More...
|
|
enum | DataMode : uint8_t { DataMode::Mode0 = 0b00,
DataMode::Mode1 = 0b01,
DataMode::Mode2 = 0b10,
DataMode::Mode3 = 0b11
} |
| Spi Data Mode, Mode0 is the most common mode. More...
|
|
enum | DataOrder : uint32_t { MsbFirst = 0b0,
LsbFirst = SPI_CR1_LSBFIRST
} |
| Spi Data Order, MsbFirst is the most common mode.
|
|
enum | DataOrder : uint8_t { MsbFirst = 0b0,
LsbFirst = 0b1
} |
| Spi Data Order, MsbFirst is the most common mode.
|
|
|
template<class SystemClock , baudrate_t baudrate, percent_t tolerance = pct(5)> |
static void | initialize () |
|
static uint8_t | transferBlocking (uint8_t data) |
|
static void | transferBlocking (const uint8_t *tx, uint8_t *rx, std::size_t length) |
|
static modm::ResumableResult< uint8_t > | transfer (uint8_t data) |
|
static modm::ResumableResult< void > | transfer (const uint8_t *tx, uint8_t *rx, std::size_t length) |
|
static void | acknowledgeInterruptFlag () |
|
static uint8_t | acquire (void *ctx, ConfigurationHandler handler=nullptr) |
|
static uint8_t | acquire (void *ctx, Spi::ConfigurationHandler handler) |
|
template<uint64_t available, uint64_t requested, percent_t tolerance> |
static void | assertBaudrateInTolerance () |
|
template<double available, double requested, percent_t tolerance> |
static void | assertDurationInTolerance () |
|
static void | configurePurpose () |
| configures a peripheral for a specific purpose
|
|
template<class... Signals> |
static void | connect () |
|
template<class... Signals> |
static void | connect () |
|
static bool | getInterruptFlag () |
| Read an interrupt flag.
|
|
static void | getParameter () |
| returns a parameter
|
|
template<class SystemClock , baudrate_t baudrate, percent_t tolerance = 5_pct> |
static void | initialize () |
|
static void | initialize () |
| initializes the peripheral, must be called before use.
|
|
static uint8_t | release (void *ctx) |
|
static uint8_t | release (void *ctx) |
|
static void | setDataMode (DataMode mode) |
|
static void | setDataMode (DataMode mode) |
| Sets a new data mode.
|
|
static void | setDataOrder (DataOrder order) |
|
static void | setDataOrder (DataOrder order) |
| Sets a new data order.
|
|
static void | setDataSize (DataSize size) |
|
static void | setParameter () |
| sets a parameter
|
|
static modm::ResumableResult< uint8_t > | transfer (uint8_t data) |
|
static modm::ResumableResult< void > | transfer (const uint8_t *tx, uint8_t *rx, std::size_t length) |
|
template<class DmaChannelRx, class DmaChannelTx>
class modm::platform::SpiMaster3_Dma< DmaChannelRx, DmaChannelTx >
Serial peripheral interface (SPI3) with DMA support.
This class uses the DMA controller for sending and receiving data, which greatly reduces the CPU load. Beside passing the DMA channels as template parameters the class can be used in the same way like the SpiMaster3.
- Template Parameters
-
DmaChannelRX | DMA channel for receiving |
DmaChannelTX | DMA channel for sending |
- Author
- Mike Wolfram