Four driver variants are available for the SPI Master: Synchronous, Asynchronous, RTOS, and DMA.
SPI Master Synchronous Driver: The driver supports polling for hardware changes. The functionality is synchronous to the main clock of the MCU.
SPI Master Asynchronous Driver: The driver supports a callback handler for the IRQ caused by hardware state changes. The functionality is asynchronous to the main clock of the MCU.
SPI Master RTOS Driver: The driver supports a Real-Time operating system, i.e. is thread safe.
SPI Master DMA Driver: The driver uses a DMA system to transfer and receive data between the SPI and a memory buffer. It supports a callback handler for the IRQ caused by hardware state changes. The functionality is asynchronous to the main clock of the MCU.
Two driver variants are available for the SPI Slave: Synchronous and Asynchronous.
SPI Slave Synchronous Driver: The driver supports polling for hardware changes. The functionality is synchronous to the main clock of the MCU.
SPI Slave Asynchronous Driver: The driver supports a callback handler for the IRQ caused by hardware state changes. The functionality is asynchronous to the main clock of the MCU.
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface.
SPI devices communicate in full duplex mode using a master-slave architecture with a single master. The master device originates the frame for reading and writing. Multiple slave devices are supported through selection by individual slave select (SS) lines.