All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
SPI Driver
SPI: Serial Peripheral Interface Driver

## Overview

This section describes the programming interface of the SPI driver.

## Files

file | fsl_spi.h

## Data Structures

struct | spi_delay_config_t
| SPI delay time configure structure. More...
struct | spi_master_config_t
| SPI master user configure structure. More...
struct | spi_slave_config_t
| SPI slave user configure structure. More...
struct | spi_transfer_t
| SPI transfer structure. More...
struct | spi_master_handle_t
| SPI transfer handle structure. More...

## Macros

#define | SPI_DUMMYDATA (0xFFFFU)
| SPI dummy transfer data, the data is sent while txBuff is NULL. More...
#define | SPI_RETRY_TIMES 0U /* Define to zero means keep waiting until the flag is assert/deassert. */
| Retry times for waiting flag. More...

## Typedefs

typedef spi_master_handle_t | spi_slave_handle_t
| Slave handle type.
typedef void(* | spi_master_callback_t )(SPI_Type *base, spi_master_handle_t *handle, status_t status, void *userData)
| SPI master callback for finished transmit.
typedef void(* | spi_slave_callback_t )(SPI_Type *base, spi_slave_handle_t *handle, status_t status, void *userData)
| SPI slave callback for finished transmit.

## Enumerations

enum | _spi_xfer_option { kSPI_EndOfFrame = (SPI_TXDATCTL_EOF_MASK), kSPI_EndOfTransfer, kSPI_ReceiveIgnore = (SPI_TXDATCTL_RXIGNORE_MASK) }
| SPI transfer option. More...
enum | spi_shift_direction_t { kSPI_MsbFirst = 0U, kSPI_LsbFirst = 1U }
| SPI data shifter direction options. More...
enum | spi_clock_polarity_t { kSPI_ClockPolarityActiveHigh = 0x0U, kSPI_ClockPolarityActiveLow = 0x1U }
| SPI clock polarity configuration. More...
enum | spi_clock_phase_t { kSPI_ClockPhaseFirstEdge = 0x0U, kSPI_ClockPhaseSecondEdge = 0x1U }
| SPI clock phase configuration. More...
enum | spi_ssel_t { kSPI_Ssel0Assert = (int)(~SPI_TXDATCTL_TXSSEL0_N_MASK) }
| Slave select. More...
enum | spi_spol_t
| ssel polarity
enum | spi_data_width_t { kSPI_Data4Bits = 3, kSPI_Data5Bits = 4, kSPI_Data6Bits = 5, kSPI_Data7Bits = 6, kSPI_Data8Bits = 7, kSPI_Data9Bits = 8, kSPI_Data10Bits = 9, kSPI_Data11Bits = 10, kSPI_Data12Bits = 11, kSPI_Data13Bits = 12, kSPI_Data14Bits = 13, kSPI_Data15Bits = 14, kSPI_Data16Bits = 15 }
| Transfer data width. More...
enum | { kStatus_SPI_Busy = MAKE_STATUS(kStatusGroup_LPC_MINISPI, 0), kStatus_SPI_Idle = MAKE_STATUS(kStatusGroup_LPC_MINISPI, 1), kStatus_SPI_Error = MAKE_STATUS(kStatusGroup_LPC_MINISPI, 2), kStatus_SPI_BaudrateNotSupport, kStatus_SPI_Timeout = MAKE_STATUS(kStatusGroup_LPC_MINISPI, 4) }
| SPI transfer status. More...
enum | _spi_interrupt_enable { kSPI_RxReadyInterruptEnable = SPI_INTENSET_RXRDYEN_MASK, kSPI_TxReadyInterruptEnable = SPI_INTENSET_TXRDYEN_MASK, kSPI_RxOverrunInterruptEnable = SPI_INTENSET_RXOVEN_MASK, kSPI_TxUnderrunInterruptEnable = SPI_INTENSET_TXUREN_MASK, kSPI_SlaveSelectAssertInterruptEnable = SPI_INTENSET_SSAEN_MASK, kSPI_SlaveSelectDeassertInterruptEnable = SPI_INTENSET_SSDEN_MASK }
| SPI interrupt sources. More...

enum

_spi_status_flags {
kSPI_RxReadyFlag = SPI_STAT_RXRDY_MASK,
kSPI_TxReadyFlag = SPI_STAT_TXRDY_MASK,
kSPI_RxOverrunFlag = SPI_STAT_RXOV_MASK,
kSPI_TxUnderrunFlag = SPI_STAT_TXUR_MASK,
kSPI_SlaveSelectAssertFlag = SPI_STAT_SSA_MASK,
kSPI_SlaveSelectDeassertFlag = SPI_STAT_SSD_MASK,
kSPI_StallFlag = SPI_STAT_STALLED_MASK,
kSPI_EndTransferFlag = SPI_STAT_ENDTRANSFER_MASK,
kSPI_MasterIdleFlag = SPI_STAT_MSTIDLE_MASK
}

| SPI status flags. More...

## Functions

uint32_t | SPI_GetInstance (SPI_Type *base)
| Returns instance number for SPI peripheral base address. More...

## Driver version

#define | FSL_SPI_DRIVER_VERSION (MAKE_VERSION(2, 0, 5))
| SPI driver version. More...

## Initialization and deinitialization

void | SPI_MasterGetDefaultConfig (spi_master_config_t *config)
| Sets the SPI master configuration structure to default values. More...
status_t | SPI_MasterInit (SPI_Type *base, const spi_master_config_t *config, uint32_t srcClock_Hz)
| Initializes the SPI with master configuration. More...
void | SPI_SlaveGetDefaultConfig (spi_slave_config_t *config)
| Sets the SPI slave configuration structure to default values. More...
status_t | SPI_SlaveInit (SPI_Type *base, const spi_slave_config_t *config)
| Initializes the SPI with slave configuration. More...
void | SPI_Deinit (SPI_Type *base)
| De-initializes the SPI. More...
static void | SPI_Enable (SPI_Type *base, bool enable)
| Enable or disable the SPI Master or Slave. More...

## Status

static uint32_t | SPI_GetStatusFlags (SPI_Type *base)
| Gets the status flag. More...
static void | SPI_ClearStatusFlags (SPI_Type *base, uint32_t mask)
| Clear the status flag. More...

## Interrupts

static void | SPI_EnableInterrupts (SPI_Type *base, uint32_t irqs)
| Enables the interrupt for the SPI. More...
static void | SPI_DisableInterrupts (SPI_Type *base, uint32_t irqs)
| Disables the interrupt for the SPI. More...

## Bus Operations

static bool | SPI_IsMaster (SPI_Type *base)
| Returns whether the SPI module is in master mode. More...
status_t | SPI_MasterSetBaudRate (SPI_Type *base, uint32_t baudrate_Bps, uint32_t srcClock_Hz)
| Sets the baud rate for SPI transfer. More...
static void | SPI_WriteData (SPI_Type *base, uint16_t data)
| Writes a data into the SPI data register directly. More...
static void | SPI_WriteConfigFlags (SPI_Type *base, uint32_t configFlags)
| Writes a data into the SPI TXCTL register directly. More...
void | SPI_WriteDataWithConfigFlags (SPI_Type *base, uint16_t data, uint32_t configFlags)
| Writes a data control info and data into the SPI TX register directly. More...
static uint32_t | SPI_ReadData (SPI_Type *base)
| Gets a data from the SPI data register. More...
void | SPI_SetTransferDelay (SPI_Type *base, const spi_delay_config_t *config)
| Set delay time for transfer. More...
void | SPI_SetDummyData (SPI_Type *base, uint16_t dummyData)
| Set up the dummy data. More...
status_t | SPI_MasterTransferBlocking (SPI_Type *base, spi_transfer_t *xfer)
| Transfers a block of data using a polling method. More...

## Transactional

status_t | SPI_MasterTransferCreateHandle (SPI_Type *base, spi_master_handle_t *handle, spi_master_callback_t callback, void *userData)
| Initializes the SPI master handle. More...
status_t | SPI_MasterTransferNonBlocking (SPI_Type *base, spi_master_handle_t *handle, spi_transfer_t *xfer)
| Performs a non-blocking SPI interrupt transfer. More...
status_t | SPI_MasterTransferGetCount (SPI_Type *base, spi_master_handle_t *handle, size_t *count)
| Gets the master transfer count. More...
void | SPI_MasterTransferAbort (SPI_Type *base, spi_master_handle_t *handle)
| SPI master aborts a transfer using an interrupt. More...
void | SPI_MasterTransferHandleIRQ (SPI_Type *base, spi_master_handle_t *handle)
| Interrupts the handler for the SPI. More...
status_t | SPI_SlaveTransferCreateHandle (SPI_Type *base, spi_slave_handle_t *handle, spi_slave_callback_t callback, void *userData)
| Initializes the SPI slave handle. More...
status_t | SPI_SlaveTransferNonBlocking (SPI_Type *base, spi_slave_handle_t *handle, spi_transfer_t *xfer)
| Performs a non-blocking SPI slave interrupt transfer. More...
static status_t | SPI_SlaveTransferGetCount (SPI_Type *base, spi_slave_handle_t *handle, size_t *count)
| Gets the slave transfer count. More...
static void | SPI_SlaveTransferAbort (SPI_Type *base, spi_slave_handle_t *handle)
| SPI slave aborts a transfer using an interrupt. More...
void | SPI_SlaveTransferHandleIRQ (SPI_Type *base, spi_slave_handle_t *handle)
| Interrupts a handler for the SPI slave. More...

## Data Structure Documentation

struct spi_delay_config_t

### Data Fields

uint8_t | preDelay
| Delay between SSEL assertion and the beginning of transfer. More...
uint8_t | postDelay
| Delay between the end of transfer and SSEL deassertion. More...
uint8_t | frameDelay
| Delay between frame to frame. More...
uint8_t | transferDelay
| Delay between transfer to transfer. More...

#### Field Documentation

uint8_t spi_delay_config_t::preDelay

uint8_t spi_delay_config_t::postDelay

uint8_t spi_delay_config_t::frameDelay

uint8_t spi_delay_config_t::transferDelay

struct spi_master_config_t

### Data Fields

bool | enableLoopback
| Enable loopback for test purpose.
bool | enableMaster
| Enable SPI at initialization time.
uint32_t | baudRate_Bps
| Baud Rate for SPI in Hz.
spi_clock_polarity_t | clockPolarity
| Clock polarity.
spi_clock_phase_t | clockPhase
| Clock phase.
spi_shift_direction_t | direction
| MSB or LSB.
uint8_t | dataWidth
| Width of the data.
spi_ssel_t | sselNumber
| Slave select number.
spi_spol_t | sselPolarity
| Configure active CS polarity.
spi_delay_config_t | delayConfig
| Configure for delay time. More...

#### Field Documentation

spi_delay_config_t spi_master_config_t::delayConfig

struct spi_slave_config_t

### Data Fields

bool | enableSlave
| Enable SPI at initialization time.
spi_clock_polarity_t | clockPolarity
| Clock polarity.
spi_clock_phase_t | clockPhase
| Clock phase.
spi_shift_direction_t | direction
| MSB or LSB.
uint8_t | dataWidth
| Width of the data.
spi_spol_t | sselPolarity
| Configure active CS polarity.

struct spi_transfer_t

### Data Fields

uint8_t * | txData
| Send buffer.
uint8_t * | rxData
| Receive buffer.
size_t | dataSize
| Transfer bytes.
uint32_t | configFlags
| Additional option to control transfer _spi_xfer_option. More...

#### Field Documentation

uint32_t spi_transfer_t::configFlags

struct _spi_master_handle

Master handle type.

### Data Fields

uint8_t *volatile | txData
| Transfer buffer.
uint8_t *volatile | rxData
| Receive buffer.
volatile size_t | txRemainingBytes
| Number of data to be transmitted [in bytes].
volatile size_t | rxRemainingBytes
| Number of data to be received [in bytes].
size_t | totalByteCount
| A number of transfer bytes.
volatile uint32_t | state
| SPI internal state.
spi_master_callback_t | callback
| SPI callback.
void * | userData
| Callback parameter.
uint8_t | dataWidth
| Width of the data [Valid values: 1 to 16].
uint32_t | lastCommand
| Last command for transfer. More...

#### Field Documentation

uint32_t spi_master_handle_t::lastCommand

## Macro Definition Documentation

#define FSL_SPI_DRIVER_VERSION (MAKE_VERSION(2, 0, 5))

#define SPI_DUMMYDATA (0xFFFFU)

#define SPI_RETRY_TIMES 0U /* Define to zero means keep waiting until the flag is assert/deassert. */

## Enumeration Type Documentation

enum _spi_xfer_option

Enumerator
kSPI_EndOfFrame | Add delay at the end of each frame(the last clk edge).
kSPI_EndOfTransfer | Re-assert the CS signal after transfer finishes to deselect slave.
kSPI_ReceiveIgnore | Ignore the receive data.

enum spi_shift_direction_t

Enumerator
kSPI_MsbFirst | Data transfers start with most significant bit.
kSPI_LsbFirst | Data transfers start with least significant bit.

enum spi_clock_polarity_t

Enumerator
kSPI_ClockPolarityActiveHigh | Active-high SPI clock (idles low).
kSPI_ClockPolarityActiveLow | Active-low SPI clock (idles high).

enum spi_clock_phase_t

Enumerator
kSPI_ClockPhaseFirstEdge | First edge on SCK occurs at the middle of the first cycle of a data transfer.
kSPI_ClockPhaseSecondEdge | First edge on SCK occurs at the start of the first cycle of a data transfer.

enum spi_ssel_t

Enumerator
kSPI_Ssel0Assert | Slave select 0.

enum spi_data_width_t

Enumerator
kSPI_Data4Bits | 4 bits data width
kSPI_Data5Bits | 5 bits data width
kSPI_Data6Bits | 6 bits data width
kSPI_Data7Bits | 7 bits data width
kSPI_Data8Bits | 8 bits data width
kSPI_Data9Bits | 9 bits data width
kSPI_Data10Bits | 10 bits data width
kSPI_Data11Bits | 11 bits data width
kSPI_Data12Bits | 12 bits data width
kSPI_Data13Bits | 13 bits data width
kSPI_Data14Bits | 14 bits data width
kSPI_Data15Bits | 15 bits data width
kSPI_Data16Bits | 16 bits data width

anonymous enum

Enumerator
kStatus_SPI_Busy | SPI bus is busy.
kStatus_SPI_Idle | SPI is idle.
kStatus_SPI_Error | SPI error.
kStatus_SPI_BaudrateNotSupport | Baudrate is not support in current clock source.
kStatus_SPI_Timeout | SPI Timeout polling status flags.

enum _spi_interrupt_enable

Enumerator
kSPI_RxReadyInterruptEnable | Rx ready interrupt.
kSPI_TxReadyInterruptEnable | Tx ready interrupt.
kSPI_RxOverrunInterruptEnable | Rx overrun interrupt.
kSPI_TxUnderrunInterruptEnable | Tx underrun interrupt.
kSPI_SlaveSelectAssertInterruptEnable | Slave select assert interrupt.
kSPI_SlaveSelectDeassertInterruptEnable | Slave select deassert interrupt.

enum _spi_status_flags

Enumerator
kSPI_RxReadyFlag | Receive ready flag.
kSPI_TxReadyFlag | Transmit ready flag.
kSPI_RxOverrunFlag | Receive overrun flag.
kSPI_TxUnderrunFlag | Transmit underrun flag.
kSPI_SlaveSelectAssertFlag | Slave select assert flag.
kSPI_SlaveSelectDeassertFlag | slave select deassert flag.
kSPI_StallFlag | Stall flag.
kSPI_EndTransferFlag | End transfer bit.
kSPI_MasterIdleFlag | Master in idle status flag.

## Function Documentation

uint32_t SPI_GetInstance | ( | SPI_Type * | base | ) |

void SPI_MasterGetDefaultConfig | ( | spi_master_config_t * | config | ) |

The purpose of this API is to get the configuration structure initialized for use in SPI_MasterInit(). User may use the initialized structure unchanged in SPI_MasterInit(), or modify some fields of the structure before calling SPI_MasterInit(). After calling this API, the master is ready to transfer. Example:

spi_master_config_t config;
SPI_MasterGetDefaultConfig(&config);

Parameters

  config | pointer to master config structure

status_t SPI_MasterInit | ( | SPI_Type * | base,
|  | const spi_master_config_t * | config,
|  | uint32_t | srcClock_Hz
| ) |  |

The configuration structure can be filled by user from scratch, or be set with default values by SPI_MasterGetDefaultConfig(). After calling this API, the slave is ready to transfer. Example

spi_master_config_t config = {
.baudRate_Bps = 500000,
...
};
SPI_MasterInit(SPI0, &config);

Parameters

  base | SPI base pointer
  config | pointer to master configuration structure
  srcClock_Hz | Source clock frequency.

void SPI_SlaveGetDefaultConfig | ( | spi_slave_config_t * | config | ) |

The purpose of this API is to get the configuration structure initialized for use in SPI_SlaveInit(). Modify some fields of the structure before calling SPI_SlaveInit(). Example:

spi_slave_config_t config;
SPI_SlaveGetDefaultConfig(&config);

Parameters

  config | pointer to slave configuration structure

status_t SPI_SlaveInit | ( | SPI_Type * | base,
|  | const spi_slave_config_t * | config
| ) |  |

The configuration structure can be filled by user from scratch or be set with default values by SPI_SlaveGetDefaultConfig(). After calling this API, the slave is ready to transfer. Example

spi_slave_config_t config = {
.polarity = kSPI_ClockPolarityActiveHigh;
.phase = kSPI_ClockPhaseFirstEdge;
.direction = kSPI_MsbFirst;
...
};
SPI_SlaveInit(SPI0, &config);

Parameters

  base | SPI base pointer
  config | pointer to slave configuration structure

void SPI_Deinit | ( | SPI_Type * | base | ) |

Calling this API resets the SPI module, gates the SPI clock. Disable the fifo if enabled. The SPI module can't work unless calling the SPI_MasterInit/SPI_SlaveInit to initialize module.

Parameters

  base | SPI base pointer

static void SPI_Enable | ( | SPI_Type * | base,
|  | bool | enable
| ) |  |

inlinestatic

Parameters

  base | SPI base pointer
  enable | or disable ( true = enable, false = disable)

static uint32_t SPI_GetStatusFlags | ( | SPI_Type * | base | ) |

inlinestatic

Parameters

  base | SPI base pointer

Returns
  SPI Status, use status flag to AND _spi_status_flags could get the related status.

static void SPI_ClearStatusFlags | ( | SPI_Type * | base,
|  | uint32_t | mask
| ) |  |

inlinestatic

Parameters

  base | SPI base pointer
  mask | SPI Status, use status flag to AND _spi_status_flags could get the related status.

static void SPI_EnableInterrupts | ( | SPI_Type * | base,
|  | uint32_t | irqs
| ) |  |

inlinestatic

Parameters

  base | SPI base pointer

  irqs

  SPI interrupt source. The parameter can be any combination of the following values:
  - kSPI_RxReadyInterruptEnable
  - kSPI_TxReadyInterruptEnable

static void SPI_DisableInterrupts | ( | SPI_Type * | base,
|  | uint32_t | irqs
| ) |  |

inlinestatic

Parameters

  base | SPI base pointer

  irqs

  SPI interrupt source. The parameter can be any combination of the following values:
  - kSPI_RxReadyInterruptEnable
  - kSPI_TxReadyInterruptEnable

static bool SPI_IsMaster | ( | SPI_Type * | base | ) |

inlinestatic

Parameters

  base | SPI peripheral address.

Returns
  Returns true if the module is in master mode or false if the module is in slave mode.

status_t SPI_MasterSetBaudRate | ( | SPI_Type * | base,
|  | uint32_t | baudrate_Bps,
|  | uint32_t | srcClock_Hz
| ) |  |

This is only used in master.

Parameters

  base | SPI base pointer
  baudrate_Bps | baud rate needed in Hz.
  srcClock_Hz | SPI source clock frequency in Hz.

static void SPI_WriteData | ( | SPI_Type * | base,
|  | uint16_t | data
| ) |  |

inlinestatic

Parameters

  base | SPI base pointer
  data | needs to be write.

static void SPI_WriteConfigFlags | ( | SPI_Type * | base,
|  | uint32_t | configFlags
| ) |  |

inlinestatic

Parameters

  base | SPI base pointer
  configFlags | control command needs to be written.

void SPI_WriteDataWithConfigFlags | ( | SPI_Type * | base,
|  | uint16_t | data,
|  | uint32_t | configFlags
| ) |  |

Parameters

  base | SPI base pointer
  data | value needs to be written.
  configFlags | control command needs to be written.

static uint32_t SPI_ReadData | ( | SPI_Type * | base | ) |

inlinestatic

Parameters

  base | SPI base pointer

Returns
  Data in the register.

void SPI_SetTransferDelay | ( | SPI_Type * | base,
|  | const spi_delay_config_t * | config
| ) |  |

       the delay uint is SPI clock time, maximum value is 0xF.

Parameters

  base | SPI base pointer
  config | configuration for delay option spi_delay_config_t.

void SPI_SetDummyData | ( | SPI_Type * | base,
|  | uint16_t | dummyData
| ) |  |

This API can change the default data to be transferred when users set the tx buffer to NULL.

Parameters

  base | SPI peripheral address.
  dummyData | Data to be transferred when tx buffer is NULL.

status_t SPI_MasterTransferBlocking | ( | SPI_Type * | base,
|  | spi_transfer_t * | xfer
| ) |  |

Parameters

  base | SPI base pointer
  xfer | pointer to spi_xfer_config_t structure

Return values

  kStatus_Success | Successfully start a transfer.
  kStatus_InvalidArgument | Input argument is invalid.
  kStatus_SPI_Timeout | The transfer timed out and was aborted.

status_t SPI_MasterTransferCreateHandle | ( | SPI_Type * | base,
|  | spi_master_handle_t * | handle,
|  | spi_master_callback_t | callback,
|  | void * | userData
| ) |  |

This function initializes the SPI master handle which can be used for other SPI master transactional APIs. Usually, for a specified SPI instance, call this API once to get the initialized handle.

Parameters

  base | SPI peripheral base address.
  handle | SPI handle pointer.
  callback | Callback function.
  userData | User data.

status_t SPI_MasterTransferNonBlocking | ( | SPI_Type * | base,
|  | spi_master_handle_t * | handle,
|  | spi_transfer_t * | xfer
| ) |  |

Parameters

  base | SPI peripheral base address.
  handle | pointer to spi_master_handle_t structure which stores the transfer state
  xfer | pointer to spi_xfer_config_t structure

Return values

  kStatus_Success | Successfully start a transfer.
  kStatus_InvalidArgument | Input argument is invalid.
  kStatus_SPI_Busy | SPI is not idle, is running another transfer.

status_t SPI_MasterTransferGetCount | ( | SPI_Type * | base,
|  | spi_master_handle_t * | handle,
|  | size_t * | count
| ) |  |

This function gets the master transfer count.

Parameters

  base | SPI peripheral base address.
  handle | Pointer to the spi_master_handle_t structure which stores the transfer state.
  count | The number of bytes transferred by using the non-blocking transaction.

Returns
  status of status_t.

void SPI_MasterTransferAbort | ( | SPI_Type * | base,
|  | spi_master_handle_t * | handle
| ) |  |

This function aborts a transfer using an interrupt.

Parameters

  base | SPI peripheral base address.
  handle | Pointer to the spi_master_handle_t structure which stores the transfer state.

void SPI_MasterTransferHandleIRQ | ( | SPI_Type * | base,
|  | spi_master_handle_t * | handle
| ) |  |

Parameters

  base | SPI peripheral base address.
  handle | pointer to spi_master_handle_t structure which stores the transfer state.

status_t SPI_SlaveTransferCreateHandle | ( | SPI_Type * | base,
|  | spi_slave_handle_t * | handle,
|  | spi_slave_callback_t | callback,
|  | void * | userData
| ) |  |

This function initializes the SPI slave handle which can be used for other SPI slave transactional APIs. Usually, for a specified SPI instance, call this API once to get the initialized handle.

Parameters

  base | SPI peripheral base address.
  handle | SPI handle pointer.
  callback | Callback function.
  userData | User data.

status_t SPI_SlaveTransferNonBlocking | ( | SPI_Type * | base,
|  | spi_slave_handle_t * | handle,
|  | spi_transfer_t * | xfer
| ) |  |

Note
  The API returns immediately after the transfer initialization is finished.

Parameters

  base | SPI peripheral base address.
  handle | pointer to spi_master_handle_t structure which stores the transfer state
  xfer | pointer to spi_xfer_config_t structure

Return values

  kStatus_Success | Successfully start a transfer.
  kStatus_InvalidArgument | Input argument is invalid.
  kStatus_SPI_Busy | SPI is not idle, is running another transfer.

static status_t SPI_SlaveTransferGetCount | ( | SPI_Type * | base,
|  | spi_slave_handle_t * | handle,
|  | size_t * | count
| ) |  |

inlinestatic

This function gets the slave transfer count.

Parameters

  base | SPI peripheral base address.
  handle | Pointer to the spi_master_handle_t structure which stores the transfer state.
  count | The number of bytes transferred by using the non-blocking transaction.

Returns
  status of status_t.

static void SPI_SlaveTransferAbort | ( | SPI_Type * | base,
|  | spi_slave_handle_t * | handle
| ) |  |

inlinestatic

This function aborts a transfer using an interrupt.

Parameters

  base | SPI peripheral base address.
  handle | Pointer to the spi_slave_handle_t structure which stores the transfer state.

void SPI_SlaveTransferHandleIRQ | ( | SPI_Type * | base,
|  | spi_slave_handle_t * | handle
| ) |  |

Parameters

  base | SPI peripheral base address.
  handle | pointer to spi_slave_handle_t structure which stores the transfer state