You are here

U2C_SpiReadSS()

U2C_RESULT U2C_SpiReadSS(
      HANDLE hDevice,
      BYTE* pInBuffer,
      WORD Length
      ULONG IoNumber
      BOOL ActiveHigh
);

The U2C_SpiReadSS() function shifts in (reads) a stream of up to 256 bytes from the SPI slave device.

In contrast to U2C_SpiRead() function, U2C_SpiReadSS() also selects the SPI slave device to communicate with. Slave Select pin should be preconfigured withU2C_SpiConfigSS() function. You can configure any number of pins for Slave Select signal and specify different pins for each SPI transaction.

Use U2C_SpiRead() function if you don't want to involve slave device selection into SPI transaction. This can be useful if you want to receive several buffers through SPI Bus changing Slave Select pin only once. You can use GPIO routines to work with Slave Select pin in such a case.

Parameters:

hDevice

Handle to the U2C-12 device.

pInBuffer

Pointer to the buffer that receives the data shifted in from the SPI slave device.

Length

Number of bytes to be shifted in. Maximum value is 256.

IoNumber

GPIO pin to be used for SPI slave device selection.

  • Numbers 0..7 correspond to Port A pins 0..7
  • Numbers 8..15 correspond to Port B pins 0..7
  • Number 16..23 correspond to Port C pins 0..7

ActiveHigh

This parameter determines the active state of the Slave Select pin (state during the SPI transfer). If ActiveHigh is TRUE - Slave Select pin value will be changed from logical "0" to logical "1" before SPI transaction and returned back to logical "0" after the data is transmitted. If ActiveHigh is FALSE - Slave Select pin value will be changed from logical "1" to logical "0" before SPI transaction and returned back to logical "1" after the data is transmitted.

Return values:

U2C_SUCCESS

The data was successfully read.

U2C_HARDWARE_NOT_FOUND

U2C-12 device referenced by hDevice handle was not found.

U2C_BAD_PARAMETER

Length or IoNumber parameter is out of range.

Rating: 
No votes yet

Languages

User login