SPI Drivers

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.

SPI Basics and Best Practice

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.