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 ) |