SPI interface for communicating with exeternal devices. More...
Data Structures | |
struct | SPI_Config |
SPI CR1 configuration struct. More... | |
struct | SPI_t |
Struct definition for SPI interface. Provides the interface for API consumers to interact with the SPI peripheral. More... | |
Enumerations | |
enum | SPI_Phase |
SPI clock phase enum. More... | |
enum | SPI_Polarity |
SPI clock polarity enum. More... | |
enum | SPI_MasterSelect |
SPI master selection enum. More... | |
enum | SPI_BaudRate |
SPI baud rate enum. More... | |
enum | SPI_DataFormat |
SPI data format enum. More... | |
enum | SPI_FrameFormat |
SPI frame format enum. More... | |
Functions | |
SPI_t | SPI_init (SPI_TypeDef *, SPI_Config *) |
Initialiser for an SPI device interface. | |
uint16_t | SPI_transmit (SPI_t *, uint16_t) |
Instance method to communicate a SPI transaction with slave device. | |
void | SPI_updateConfig (SPI_t *, SPI_Config *) |
Update SPI peripheral configuration. | |
SPI interface for communicating with exeternal devices.
struct SPI_Config |
SPI CR1 configuration struct.
Describes the configuration of control register 1.
Data Fields | ||
---|---|---|
SPI_Phase | CPHA: 1 | SPI clock phase | (default SPI_CPHA_SECOND) |
SPI_Polarity | CPOL: 1 | SPI clock polarity | (default SPI_CPOL1) |
SPI_MasterSelect | MSTR: 1 | SPI master select | (default SPI_MASTER) |
SPI_BaudRate | BR: 3 | SPI clock division | (default SPI_BR_PCLK8) |
bool | SPE: 1 | SPI enable | (default false) |
SPI_FrameFormat | LSBFIRST: 1 | SPI frame format | (default SPI_MSB_FIRST) |
bool | SSI: 1 | SPI internal slave select | (default true) |
bool | SSM: 1 | SPI software slave management | (default true ) |
bool | RXONLY: 1 | SPI receive only | (default false) |
SPI_DataFormat | DFF: 1 | SPI data format | (default SPI_DFF8) |
bool | CRCNEXT: 1 | SPI CRC transfer next | (default false) |
bool | CRCEN: 1 | SPI CRC enable | (default false) |
bool | BIDIOE: 1 | SPI bidirectional output | (default false) |
bool | BIDIMODE: 1 | SPI bidirectional mode | (default true) |
struct SPI_t |
Struct definition for SPI interface. Provides the interface for API consumers to interact with the SPI peripheral.
Data Fields | ||
---|---|---|
SPI_TypeDef * | interface | Pointer to SPI interface struct. |
SPI_Config | config | Configuration parameters for the SPI peripheral. |
void(*)(struct SPI *, uint16_t) | send |
SPI send method.
|
void(*)(struct SPI *, volatile uint16_t *) | receive |
SPI receive method.
|
uint16_t(*)(struct SPI *, uint16_t) | transmit |
SPI transmit method.
|
void(*)(struct SPI *, SPI_Config *) | updateConfig |
SPI configuration update method.
|
enum SPI_Phase |
enum SPI_Polarity |
enum SPI_MasterSelect |
enum SPI_BaudRate |
enum SPI_DataFormat |
enum SPI_FrameFormat |
SPI_t SPI_init | ( | SPI_TypeDef * | interface, |
SPI_Config * | config ) |
Initialiser for an SPI device interface.
interface | Pointer to the SPI_TypeDef struct representing the SPI interface. |
config | Pointer to SPI_Config struct for initial configuration. This may be passed as NULL to initialise a default configuration. |
uint16_t SPI_transmit | ( | SPI_t * | spi, |
uint16_t | data ) |
void SPI_updateConfig | ( | SPI_t * | spi, |
SPI_Config * | config ) |