SPI Function Documentation

 

Sys_SPI_Config

void Sys_SPI_Config(SPI_Type * spi, uint32_t config)

 

Location: spi.h:102

 

Configure the specified SPI interface's operation and controller information.

 

 

Example Code for Sys_SPI_Config

    // Configure the SPI interface's operation and controller information:

    //  - Master mode

    //  - Use 8-bit words

    //  - Select interrupts enabled

    //  - Prescale the SPI interface clock by 32

    Sys_SPI_Config(SPI, SPI_SELECT_MASTER | SPI_WORD_SIZE_8 | SPI_TX_START_INT_ENABLE |

                   SPI_RX_INT_ENABLE | SPI_OVERRUN_INT_ENABLE |

                   SPI_PRESCALE_32 | SPI_UNDERRUN_INT_ENABLE);

 

Parameters

Direction Name Description

in

spi

Pointer to the SPI instance

in

config

Interface operation configuration; use SPI_SELECT_[MASTER | SLAVE], SPI_CLK_POLARITY_[NORMAL | INVERSE], SPI_PRESCALE_*, SPI_WORD_SIZE_*, SPI_MODE_[SPI | DSPI | QSPI] SPI_UNDERRUN_INT_[ENABLE | DISABLE], SPI_OVERRRUN_INT_[ENABLE | DISABLE], SPI_CS_RISE_INT_[ENABLE | DISABLE], SPI_RX_INT_[ENABLE | DISABLE] SPI_TX_INT_[ENABLE | DISABLE] SPI_RX_DMA_[ENABLE | DISABLE] SPI_TX_DMA_[ENABLE | DISABLE]

 

Sys_SPI_TransferConfig

void Sys_SPI_TransferConfig(SPI_Type * spi, uint32_t config)

 

Location: spi.h:125

 

Configure the SPI transfer information for the specified SPI instance.

 

 

Example Code for Sys_SPI_TransferConfig

    // Enable and configure the SPI interface to read operation mode

    Sys_SPI_TransferConfig(SPI, SPI_ENABLE | SPI_MODE_READ);

 

Parameters

Direction Name Description

in

spi

Pointer to the SPI instance

in

config

Interface transfer configuration; use SPI_ENABLE, SPI_DISABLE, SPI_RESET, SPI_START, SPI_MODE_READ_WRITE, SPI_MODE_READ, SPI_MODE_WRITE, SPI_MODE_NOP, SPI_CS_0, SPI_CS_1,

 

Sys_SPI_Read

uint32_t Sys_SPI_Read(const SPI_Type * spi)

 

Location: spi.h:140

 

Generate clock and CS to read data from SPI interface.

 


Returns:
data Data read from the SPI interface

Assumptions

SPI is configured as master mode and transfer operation mode is SPI_MODE_READ_WRITE(full duplex) or (SPI_MODE_READ) half duplex

 

Example Code for Sys_SPI_Read

    // Generate clock and CS to read data from SPI interface

    Sys_SPI_Read(SPI);

 

Parameters

Direction Name Description

in

spi

Pointer to the SPI instance

 

Sys_SPI_Write

void Sys_SPI_Write(SPI_Type * spi, uint32_t data)

 

Location: spi.h:155

 

Generate clock and CS to write data to SPI interface.

 

Assumptions

SPI is configured as master mode and transfer operation mode is SPI_MODE_READ_WRITE(full duplex) or (SPI_MODE_WRITE) half duplex

 

Example Code for Sys_SPI_Write

    // Generate clock and CS to write data to SPI interface

    Sys_SPI_Write(SPI, 0xFF);

 

Parameters

Direction Name Description

in

spi

Pointer to the SPI instance

in

data

Data to be sent over SPI

 

Sys_SPI_GPIOConfig

void Sys_SPI_GPIOConfig(const SPI_Type * spi, uint32_t slave, uint32_t cfg, uint32_t clk, uint32_t cs, uint32_t seri, uint32_t sero)

 

Location: spi.h:174

 

Configure four GPIOs for the specified SPI interface.

 

 

Example Code for Sys_SPI_GPIOConfig

    // Configure GPIOs 0, 1, 2, and 3 for the SPI0 interface with

    // low-pass filter disabled, 8X drive-strength, and 1 kOhm pull-up resistors

    Sys_SPI_GPIOConfig(SPI, GPIO0, (GPIO_LPF_DISABLE | GPIO_8X_DRIVE |

                      GPIO_1K_PULL_UP), GPIO0, GPIO1, GPIO2, GPIO3);

 

Parameters

Direction Name Description

in

spi

Pointer to the SPI instance

in

slave

SPI master/slave configuration; use SPI*_SELECT_[MASTER | SLAVE]

in

cfg

GPIO pin configuration for the SPI pads

in

clk

GPIO to use as the SPI clock pad

in

cs

GPIO to use as the SPI chip select pad

in

seri

GPIO to use as the SPI serial input pad

in

sero

GPIO to use as the SPI serial output pad

 

Sys_DSPI_GPIOConfig

void Sys_DSPI_GPIOConfig(const SPI_Type * spi, uint32_t cfg, uint32_t clk, uint32_t cs, uint32_t io0, uint32_t io1)

 

Location: spi.h:228

 

Configure four GPIOs for the specified SPI interface.

 

 

Example Code for Sys_DSPI_GPIOConfig

    // Configure GPIOs 0, 1, 2, and 3 for the DSPI0 interface with

    // low-pass filter disabled, 8X drive-strength, and 1 kOhm pull-up resistors

    Sys_DSPI_GPIOConfig(SPI, (GPIO_LPF_DISABLE | GPIO_8X_DRIVE |

                       GPIO_1K_PULL_UP), GPIO0, GPIO1, GPIO2, GPIO3);

 

Parameters

Direction Name Description

in

spi

Pointer to the SPI instance

in

cfg

GPIO pin configuration for the SPI pads

in

clk

GPIO to use as the DSPI clock pad

in

cs

GPIO to use as the DSPI chip select pad

in

io0

GPIO to use as the DSPI io0

in

io1

GPIO to use as the DSPI io1

 

Sys_QSPI_GPIOConfig

void Sys_QSPI_GPIOConfig(const SPI_Type * spi, uint32_t cfg, uint32_t clk, uint32_t cs, uint32_t io0, uint32_t io1, uint32_t io2, uint32_t io3)

 

Location: spi.h:260

 

Configure six GPIOs for the specified SPI interface.

 

 

Example Code for Sys_QSPI_GPIOConfig

    // Configure GPIOs 0, 1, 2, 3, 4, and 5 for the QSPI0 interface with

    // low-pass filter disabled, 8X drive-strength, and 1 kOhm pull-up resistors

    Sys_QSPI_GPIOConfig(SPI, (GPIO_LPF_DISABLE | GPIO_8X_DRIVE | GPIO_1K_PULL_UP),

                       GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5);

 

Parameters

Direction Name Description

in

spi

Pointer to the SPI instance

in

cfg

GPIO pin configuration for the SPI pads

in

clk

GPIO to use as the QSPI clock pad

in

cs

GPIO to use as the QSPI chip select pad

in

io0

GPIO to use as the QSPI io0

in

io1

GPIO to use as the QSPI io1

in

io2

GPIO to use as the QSPI io2

in

io3

GPIO to use as the QSPI io3