spi
Vitis Drivers API Documentation
xspi_slave_polled_example.c File Reference

Overview

This file contains a design example using the Spi driver (XSpi) and the SPI device as a Slave, in polled mode.

This example fills the Spi Tx buffer with the number of data bytes it expects to receive from the master and then Spi device waits for an external master to initiate the transfer. When the master initiates the transfer, the Spi device receives data from the master and simultaneously sends the data in Tx buffer to the master. Once the transfer is complete, this example prints the data received from the master. The number of bytes to be received by the Spi slave is defined by the constant BUFFER_SIZE in this file.

The external SPI devices that are present on the Xilinx boards don't support the Master functionality. This example has been tested with an off board external SPI Master device and the Xilinx SPI device configured as a Slave. This example has been tested for byte-wide SPI transfers.

Note

This example assumes that there is a STDIO device in the system.

  MODIFICATION HISTORY:
  Ver   Who  Date     Changes


1.00a psk 09/05/08 First Release 3.00a ktn 10/28/09 Converted all register accesses to 32 bit access. Updated to use the HAL APIs/macros. Replaced call to XSpi_Initialize API with XSpi_LookupConfig and XSpi_CfgInitialize. 4.2 ms 01/23/17 Added xil_printf statement in main function to ensure that "Successfully ran" and "Failed" strings are available in all examples. This is a fix for CR-965028. 4.11 sb 07/11/23 Added support for system device-tree flow.

*

Functions

int main (void)
 Main function to call the Spi Slave example in polled mode. More...
 

Function Documentation

int main ( void  )

Main function to call the Spi Slave example in polled mode.

Returns
XST_SUCCESS if successful, otherwise XST_FAILURE.
Note
None