SPB_MULTI_SPI_TRANSFER_INIT function (spb.h)

The SPB_MULTI_SPI_TRANSFER_INIT function initializes an SPB_MULTI_SPI_TRANSFER structure.

Syntax

void SPB_MULTI_SPI_TRANSFER_INIT(
  SPB_MULTI_SPI_TRANSFER      *SpiTransfer,
  SPB_MULTI_SPI_TRANSFER_MODE Mode,
  ULONG                       TransferPhaseCount,
  ULONG                       WritePhaseSingleSpiByteCount,
  ULONG                       WaitCycleByteCount
);

Parameters

SpiTransfer

A pointer to the SPB_MULTI_SPI_TRANSFER structure that is to be initialized. This structure includes a single transfer phase - an additional transfer phase should be provided when using this function to initialize a two-phase read operation.

Mode

An SPB_MULTI_SPI_TRANSFER_MODE enumeration value, specifying the line mode of the multi-SPI transfer to be used by a bus driver to communicate with a peripheral device.

TransferPhaseCount

The number of phases in the multi-SPI transfer. For a read operation, this should be set to 2, representing a read phase, then a write phase. For a write operation, this should be set to 1, representing solely a write phase.

WritePhaseSingleSpiByteCount

The count of bytes at the beginning of the write phase to be transferred in single-SPI mode, before line mode switch to the mode specified in the Mode member of this struct.

WaitCycleByteCount

The number of wait cycles represented as the number of bytes, representing multi-SPI transfer cycles - e.g. 1 byte => 8 bits => 2 clock cycles in quad-SPI mode, between the write phase and read phase of the transfer. These wait cycle bytes should be present, and of an undefined value at the end of the WritePhaseBuffer. This should be set to 0 if the transfer does not have a read phase.

Return value

None

Remarks

Typically, this function should not be called directly, instead SPB_MULTI_SPI_READ_TRANSFER_INIT or SPB_MULTI_SPI_WRITE_TRANSFER_INIT may be used as appropriate.

Requirements

Requirement Value
Header spb.h

See also