## CMSIS SPI Driver Data Structures Type Documentation

### _ARM_SPI_STATUS

Location: Driver_SPI.h:143

SPI Status .

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | busy | Transmitter/Receiver busy flag.
uint32_t | data_lost | Data lost: Receive overflow / Transmit underflow (cleared on start of transfer operation).
uint32_t | mode_fault | Mode fault detected; optional (cleared on start of transfer operation).
uint32_t | reserved | (Reserved for future use)

### _ARM_SPI_CAPABILITIES

Location: Driver_SPI.h:228

SPI Driver Capabilities.

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | simplex | supports Simplex Mode (Master and Slave).
uint32_t | ti_ssi | supports TI Synchronous Serial Interface.
uint32_t | microwire | supports Microwire Interface.
uint32_t | event_mode_fault | Signal Mode Fault event: ARM_SPI_EVENT_MODE_FAULT.
uint32_t | reserved | Reserved (must be zero).

### _ARM_DRIVER_SPI

Location: Driver_SPI.h:239

Access structure of the SPI Driver.

Data Fields

Type | Name | Description
--- | --- | ---
ARM_DRIVER_VERSION(* | GetVersion)(void) | Pointer to ARM_SPI_GetVersion : Get driver version.
ARM_SPI_CAPABILITIES(* | GetCapabilities)(void) | Pointer to ARM_SPI_GetCapabilities : Get driver capabilities.
int32_t(* | Initialize)(ARM_SPI_SignalEvent_t cb_event) | Pointer to ARM_SPI_Initialize : Initialize SPI Interface.
int32_t(* | Uninitialize)(void) | Pointer to ARM_SPI_Uninitialize : De-initialize SPI Interface.
int32_t(* | PowerControl)(ARM_POWER_STATE state) | Pointer to ARM_SPI_PowerControl : Control SPI Interface Power.
int32_t(* | Send)(const void *data, uint32_t num) | Pointer to ARM_SPI_Send : Start sending data to SPI Interface.
int32_t(* | Receive)(void *data, uint32_t num) | Pointer to ARM_SPI_Receive : Start receiving data from SPI Interface.
int32_t(* | Transfer)(const void *data_out, void *data_in, uint32_t num) | Pointer to ARM_SPI_Transfer : Start sending/receiving data to/from SPI.
uint32_t(* | GetDataCount)(void) | Pointer to ARM_SPI_GetDataCount : Get transferred data count.
int32_t(* | Control)(uint32_t control, uint32_t arg) | Pointer to ARM_SPI_Control : Control SPI Interface.
ARM_SPI_STATUS(* | GetStatus)(void) | Pointer to ARM_SPI_GetStatus : Get SPI status.