Alt_avalon_spi_command(), Software files, Software files -8 – Altera Embedded Peripherals IP User Manual

Page 114

Advertising
background image

alt_avalon_spi_command()

Prototype:

int alt_avalon_spi_command(alt_u32 base, alt_u32 slave,

alt_u32 write_length,

const alt_u8* wdata,

alt_u32 read_length,

alt_u8* read_data,

alt_u32 flags)

Thread-safe:

No.

Available from

ISR:

No.

Include:

<altera_avalon_spi.h>

Description:

This function performs a control sequence on the SPI bus. It supports only

SPI masters with data width less than or equal to 8 bits. A single call to this

function writes a data buffer of arbitrary length to the

mosi

port, and then

reads back an arbitrary amount of data from the

miso

port. The function

performs the following actions:
(1) Asserts the slave select output for the specified slave. The first slave select

output is 0.
(2) Transmits write_length bytes of data from wdata through the SPI

interface, discarding the incoming data on the

miso

port.

(3) Reads read_length bytes of data and stores the data into the buffer

pointed to by read_data. The

mosi

port is set to zero during the read transac‐

tion.
(4) De-asserts the slave select output, unless the flags field contains the value

ALT_AVALON_SPI_COMMAND_MERGE. If you want to transmit from

scattered buffers, call the function multiple times and specify the merge flag

on all the accesses except the last.
To access the SPI bus from more than one thread, you must use a semaphore

or mutex to ensure that only one thread is executing within this function at

any time.

Returns:

The number of bytes stored in the read_data buffer.

Software Files

The SPI core is accompanied by the following software files. These files provide a low-level interface to the

hardware.

altera_avalon_spi.h

—This file defines the core's register map, providing symbolic constants to access the

low-level hardware.

altera_avalon_spi.c

—This file implements low-level routines to access the hardware.

10-8

alt_avalon_spi_command()

UG-01085

2014.24.07

Altera Corporation

SPI Core

Send Feedback

Advertising