modm API documentation for STM32F469ZIT6
|
#include <modm/platform/spi/spi_master_1_dma.hpp>
Public Typedefs | |
using | ConfigurationHandler = void (*)() |
The signature of the configuration function. | |
using | DataSize = Hal::DataSize |
using | Hal = SpiHal1 |
Public Types | |
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 | DataOrder : uint32_t { MsbFirst = 0b0, LsbFirst = SPI_CR1_LSBFIRST } |
Spi Data Order, MsbFirst is the most common mode. | |
Static Public Member Functions | |
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) |
template<baudrate_t available, baudrate_t requested, percent_t tolerance> | |
static void | assertBaudrateInTolerance () |
static void | configurePurpose () |
configures a peripheral for a specific purpose | |
template<class... Signals> | |
static void | connect () |
static bool | getInterruptFlag () |
Read an interrupt flag. | |
static void | getParameter () |
returns a parameter | |
static void | initialize () |
initializes the peripheral, must be called before use. | |
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 Protected Attributes | |
static uint8_t | state {0} |
Serial peripheral interface (SPI1) 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 SpiMaster1.
DmaChannelRX | DMA channel for receiving |
DmaChannelTX | DMA channel for sending |
|
inheritedstrong |
|
inheritedstatic |
Acknowledge an interrupt flag.
We use acknowledge here, since it describes the intention rather than the actual implementation.
|
inheritedinlinestatic |
Since baudrates are usually generated by prescaling a system clock, only several distinct values can be generated. This method checks if the user requested baudrate is within error tolerance of the system achievable baudrate.
|
static |
Initialize DMA and SPI1