S32 SDK
FlexIO I2S Driver

Detailed Description

I2S communication over FlexIO module (FLEXIO_I2S)

The FLEXIO_I2S Driver allows communication on an I2S bus using the FlexIO module in the S32144K processor.

Features

Functionality

Before using any Flexio driver the device must first be initialized using function FLEXIO_DRV_InitDevice. Then the FLEXIO_I2S Driver must be initialized, using functions FLEXIO_I2S_DRV_MasterInit() or FLEXIO_I2S_DRV_SlaveInit(). It is possible to use more driver instances on the same FlexIO device, as long as sufficient resources are available. Different driver instances on the same FlexIO device can function independently of each other. When it is no longer needed, the driver can be de-initialized, using FLEXIO_I2S_DRV_MasterDeinit() or FLEXIO_I2S_DRV_SlaveDeinit(). This will release the hardware resources, allowing other driver instances to be initialized.

Master Mode

Master Mode provides functions for transmitting or receiving data to/from any I2S slave. The number of bits per word and the baud rate are provided at initialization time through the master configuration structure, but they can be changed at runtime by using FLEXIO_I2S_DRV_MasterSetConfig(). Note that due to module limitation not any baud rate can be achieved. The driver will set a baud rate as close as possible to the requested baud rate, but there may still be substantial differences, for example if requesting a high baud rate while using a low-frequency FlexIO clock. The application should call FLEXIO_I2S_DRV_MasterGetBaudRate() to check what baud rate was actually set.

To send or receive data to/from the currently configured slave address, use functions FLEXIO_I2S_DRV_MasterSendData() or FLEXIO_I2S_DRV_MasterReceiveData() (or their blocking counterparts). The driver is not full-duplex, only one direction (send or receive) can be used at one time. It is possible to configure both Rx and Tx pin to use the same Flexio pin.

Continuous send/receive can be realized by registering a user callback function. When the driver completes the transmission or reception of the current buffer, it will invoke the user callback with an appropriate event. The callback function can the use FLEXIO_I2S_DRV_MasterSetTxBuffer() or FLEXIO_I2S_DRV_MasterSetRxBuffer() to provide a new buffer.

Blocking operations will return only when the transfer is completed, either successfully or with error. Non-blocking operations will initiate the transfer and return STATUS_SUCCESS, but the module is still busy with the transfer and another transfer can't be initiated until the current transfer is complete. The application will be notified through the user callback when the transfer completes, or it can check the status of the current transfer by calling FLEXIO_I2S_DRV_MasterGetStatus(). If the transfer is still ongoing this function will return STATUS_BUSY. If the transfer is completed, the function will return either STATUS_SUCCESS or an error code, depending on the outcome of the last transfer.

The driver supports interrupt, DMA and polling mode. In polling mode the function FLEXIO_I2S_DRV_MasterGetStatus() ensures the progress of the transfer by checking and handling transmit and receive events reported by the FlexIO module. The application should ensure that this function is called often enough (at least once per transferred byte) to avoid Tx underflows or Rx overflows. In DMA mode the DMA channels that will be used by the driver are received through the configuration structure. The channels must be initialized by the application before the flexio_i2s driver is initialized. The flexio_i2s driver will only set the DMA request source.

Slave Mode

Slave Mode is very similar to master mode, the main difference being that the FLEXIO_I2S_DRV_SlaveInit() function initializes the FlexIO module to use the clock signal received from the master instead of generating it. Consequently, there is no baud rate setting in slave mode. Other than that, the slave mode offers a similar interface to the master mode. FLEXIO_I2S_DRV_MasterSendData() or FLEXIO_I2S_DRV_MasterReceiveData() (or their blocking counterparts) can be used to initiate transfers, and FLEXIO_I2S_DRV_SlaveGetStatus() is used to check the status of the transfer and advance the transfer in polling mode. All other specifications from the Master Mode description apply for Slave Mode too.

Important Notes

Data Structures

struct  flexio_i2s_master_user_config_t
 Master configuration structure. More...
 
struct  flexio_i2s_slave_user_config_t
 Slave configuration structure. More...
 
struct  flexio_i2s_master_state_t
 Master internal context structure. More...
 

Typedefs

typedef flexio_i2s_master_state_t flexio_i2s_slave_state_t
 Slave internal context structure. More...
 

FLEXIO_I2S Driver

status_t FLEXIO_I2S_DRV_MasterInit (uint32_t instance, const flexio_i2s_master_user_config_t *userConfigPtr, flexio_i2s_master_state_t *master)
 Initialize the FLEXIO_I2S master mode driver. More...
 
status_t FLEXIO_I2S_DRV_MasterDeinit (flexio_i2s_master_state_t *master)
 De-initialize the FLEXIO_I2S master mode driver. More...
 
status_t FLEXIO_I2S_DRV_MasterSetConfig (flexio_i2s_master_state_t *master, uint32_t baudRate, uint8_t bitsWidth)
 Set the baud rate and bit width for any subsequent I2S communication. More...
 
status_t FLEXIO_I2S_DRV_MasterGetBaudRate (flexio_i2s_master_state_t *master, uint32_t *baudRate)
 Get the currently configured baud rate. More...
 
status_t FLEXIO_I2S_DRV_MasterSendData (flexio_i2s_master_state_t *master, const uint8_t *txBuff, uint32_t txSize)
 Perform a non-blocking send transaction on the I2S bus. More...
 
status_t FLEXIO_I2S_DRV_MasterSendDataBlocking (flexio_i2s_master_state_t *master, const uint8_t *txBuff, uint32_t txSize, uint32_t timeout)
 Perform a blocking send transaction on the I2S bus. More...
 
status_t FLEXIO_I2S_DRV_MasterReceiveData (flexio_i2s_master_state_t *master, uint8_t *rxBuff, uint32_t rxSize)
 Perform a non-blocking receive transaction on the I2S bus. More...
 
status_t FLEXIO_I2S_DRV_MasterReceiveDataBlocking (flexio_i2s_master_state_t *master, uint8_t *rxBuff, uint32_t rxSize, uint32_t timeout)
 Perform a blocking receive transaction on the I2S bus. More...
 
status_t FLEXIO_I2S_DRV_MasterTransferAbort (flexio_i2s_master_state_t *master)
 Aborts a non-blocking I2S master transaction. More...
 
status_t FLEXIO_I2S_DRV_MasterGetStatus (flexio_i2s_master_state_t *master, uint32_t *bytesRemaining)
 Get the status of the current non-blocking I2S master transaction. More...
 
status_t FLEXIO_I2S_DRV_MasterSetRxBuffer (flexio_i2s_master_state_t *master, uint8_t *rxBuff, uint32_t rxSize)
 Provide a buffer for receiving data. More...
 
status_t FLEXIO_I2S_DRV_MasterSetTxBuffer (flexio_i2s_master_state_t *master, const uint8_t *txBuff, uint32_t txSize)
 Provide a buffer for transmitting data. More...
 
status_t FLEXIO_I2S_DRV_SlaveInit (uint32_t instance, const flexio_i2s_slave_user_config_t *userConfigPtr, flexio_i2s_slave_state_t *slave)
 Initialize the FLEXIO_I2S slave mode driver. More...
 
static status_t FLEXIO_I2S_DRV_SlaveDeinit (flexio_i2s_slave_state_t *slave)
 De-initialize the FLEXIO_I2S slave mode driver. More...
 
status_t FLEXIO_I2S_DRV_SlaveSetConfig (flexio_i2s_slave_state_t *slave, uint8_t bitsWidth)
 Set the bit width for any subsequent I2S communication. More...
 
static status_t FLEXIO_I2S_DRV_SlaveSendData (flexio_i2s_slave_state_t *slave, const uint8_t *txBuff, uint32_t txSize)
 Perform a non-blocking send transaction on the I2S bus. More...
 
static status_t FLEXIO_I2S_DRV_SlaveSendDataBlocking (flexio_i2s_slave_state_t *slave, const uint8_t *txBuff, uint32_t txSize, uint32_t timeout)
 Perform a blocking send transaction on the I2S bus. More...
 
static status_t FLEXIO_I2S_DRV_SlaveReceiveData (flexio_i2s_slave_state_t *slave, uint8_t *rxBuff, uint32_t rxSize)
 Perform a non-blocking receive transaction on the I2S bus. More...
 
static status_t FLEXIO_I2S_DRV_SlaveReceiveDataBlocking (flexio_i2s_slave_state_t *slave, uint8_t *rxBuff, uint32_t rxSize, uint32_t timeout)
 Perform a blocking receive transaction on the I2S bus. More...
 
static status_t FLEXIO_I2S_DRV_SlaveTransferAbort (flexio_i2s_slave_state_t *slave)
 Aborts a non-blocking I2S slave transaction. More...
 
static status_t FLEXIO_I2S_DRV_SlaveGetStatus (flexio_i2s_slave_state_t *slave, uint32_t *bytesRemaining)
 Get the status of the current non-blocking I2S slave transaction. More...
 
static status_t FLEXIO_I2S_DRV_SlaveSetRxBuffer (flexio_i2s_slave_state_t *slave, uint8_t *rxBuff, uint32_t rxSize)
 Provide a buffer for receiving data. More...
 
static status_t FLEXIO_I2S_DRV_SlaveSetTxBuffer (flexio_i2s_slave_state_t *slave, const uint8_t *txBuff, uint32_t txSize)
 Provide a buffer for transmitting data. More...
 

Typedef Documentation

Slave internal context structure.

This structure is used by the driver for its internal logic. It must be provided by the application through the FLEXIO_I2S_DRV_SlaveInit() function, then it cannot be freed until the driver is de-initialized using FLEXIO_I2S_DRV_SlaveDeinit(). The application should make no assumptions about the content of this structure.

Definition at line 152 of file flexio_i2s_driver.h.

Function Documentation

status_t FLEXIO_I2S_DRV_MasterDeinit ( flexio_i2s_master_state_t master)

De-initialize the FLEXIO_I2S master mode driver.

This function de-initializes the FLEXIO_I2S driver in master mode. The driver can't be used again until reinitialized. The context structure is no longer needed by the driver and can be freed after calling this function.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
Returns
Error or success status returned by API

Definition at line 1032 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterGetBaudRate ( flexio_i2s_master_state_t master,
uint32_t *  baudRate 
)

Get the currently configured baud rate.

This function returns the currently configured I2S baud rate.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
baudRatethe current baud rate in hertz
Returns
Error or success status returned by API

Definition at line 1105 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterGetStatus ( flexio_i2s_master_state_t master,
uint32_t *  bytesRemaining 
)

Get the status of the current non-blocking I2S master transaction.

This function returns the current status of a non-blocking I2S master transaction. A return code of STATUS_BUSY means the transfer is still in progress. Otherwise the function returns a status reflecting the outcome of the last transfer. When the driver is initialized in polling mode this function also advances the transfer by checking and handling the transmit and receive events, so it must be called frequently to avoid overflows or underflows.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
bytesRemainingthe remaining number of bytes to be transferred
Returns
Error or success status returned by API

Definition at line 1358 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterInit ( uint32_t  instance,
const flexio_i2s_master_user_config_t userConfigPtr,
flexio_i2s_master_state_t master 
)

Initialize the FLEXIO_I2S master mode driver.

This function initializes the FLEXIO_I2S driver in master mode.

Parameters
instanceFLEXIO peripheral instance number
userConfigPtrPointer to the FLEXIO_I2S master user configuration structure. The function reads configuration data from this structure and initializes the driver accordingly. The application may free this structure after the function returns.
masterPointer to the FLEXIO_I2S master driver context structure. The driver uses this memory area for its internal logic. The application must make no assumptions about the content of this structure, and must not free this memory until the driver is de-initialized using FLEXIO_I2S_DRV_MasterDeinit().
Returns
Error or success status returned by API

Definition at line 941 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterReceiveData ( flexio_i2s_master_state_t master,
uint8_t *  rxBuff,
uint32_t  rxSize 
)

Perform a non-blocking receive transaction on the I2S bus.

This function starts the reception of a block of data and returns immediately. The rest of the reception is handled by the interrupt service routine (if the driver is initialized in interrupt mode) or by the FLEXIO_I2S_DRV_MasterGetStatus function (if the driver is initialized in polling mode). Use FLEXIO_I2S_DRV_MasterGetStatus() to check the progress of the reception.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
rxBuffpointer to the buffer where to store received data
rxSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API

Definition at line 1241 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterReceiveDataBlocking ( flexio_i2s_master_state_t master,
uint8_t *  rxBuff,
uint32_t  rxSize,
uint32_t  timeout 
)

Perform a blocking receive transaction on the I2S bus.

This function receives a block of data and only returns when the reception is complete.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
rxBuffpointer to the buffer where to store received data
rxSizelength in bytes of the data to be transferred
timeouttimeout for the transfer in milliseconds
Returns
Error or success status returned by API

Definition at line 1307 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterSendData ( flexio_i2s_master_state_t master,
const uint8_t *  txBuff,
uint32_t  txSize 
)

Perform a non-blocking send transaction on the I2S bus.

This function starts the transmission of a block of data and returns immediately. The rest of the transmission is handled by the interrupt service routine (if the driver is initialized in interrupt mode) or by the FLEXIO_I2S_DRV_MasterGetStatus function (if the driver is initialized in polling mode). Use FLEXIO_I2S_DRV_MasterGetStatus() to check the progress of the transmission.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
txBuffpointer to the data to be transferred
txSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API

Definition at line 1144 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterSendDataBlocking ( flexio_i2s_master_state_t master,
const uint8_t *  txBuff,
uint32_t  txSize,
uint32_t  timeout 
)

Perform a blocking send transaction on the I2S bus.

This function sends a block of data, and only returns when the transmission is complete.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
txBuffpointer to the data to be transferred
txSizelength in bytes of the data to be transferred
timeouttimeout for the transfer in milliseconds
Returns
Error or success status returned by API

Definition at line 1208 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterSetConfig ( flexio_i2s_master_state_t master,
uint32_t  baudRate,
uint8_t  bitsWidth 
)

Set the baud rate and bit width for any subsequent I2S communication.

This function sets the baud rate (SCK frequency) and bit width for the I2S master. Note that due to module limitation not any baud rate can be achieved. The driver will set a baud rate as close as possible to the requested baud rate, but there may still be substantial differences, for example if requesting a high baud rate while using a low-frequency FlexIO clock. The application should call FLEXIO_I2S_DRV_MasterGetBaudRate() after FLEXIO_I2S_DRV_MasterSetConfig() to check what baud rate was actually set.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
baudRatethe desired baud rate in hertz
bitsWidthnumber of bits per word
Returns
Error or success status returned by API

Definition at line 1055 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterSetRxBuffer ( flexio_i2s_master_state_t master,
uint8_t *  rxBuff,
uint32_t  rxSize 
)

Provide a buffer for receiving data.

This function can be used to provide a new buffer for receiving data to the driver. It can be called from the user callback when event STATUS_I2S_RX_OVERRUN is reported. This way the reception will continue without interruption.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
rxBuffpointer to the buffer where to store received data
rxSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API

Definition at line 1393 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterSetTxBuffer ( flexio_i2s_master_state_t master,
const uint8_t *  txBuff,
uint32_t  txSize 
)

Provide a buffer for transmitting data.

This function can be used to provide a new buffer for transmitting data to the driver. It can be called from the user callback when event STATUS_I2S_TX_UNDERRUN is reported. This way the transmission will continue without interruption.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
txBuffpointer to the buffer containing transmit data
txSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API

Definition at line 1415 of file flexio_i2s_driver.c.

status_t FLEXIO_I2S_DRV_MasterTransferAbort ( flexio_i2s_master_state_t master)

Aborts a non-blocking I2S master transaction.

This function aborts a non-blocking I2S transfer.

Parameters
masterPointer to the FLEXIO_I2S master driver context structure.
Returns
Error or success status returned by API

Definition at line 1340 of file flexio_i2s_driver.c.

static status_t FLEXIO_I2S_DRV_SlaveDeinit ( flexio_i2s_slave_state_t slave)
inlinestatic

De-initialize the FLEXIO_I2S slave mode driver.

This function de-initializes the FLEXIO_I2S driver in slave mode. The driver can't be used again until reinitialized. The context structure is no longer needed by the driver and can be freed after calling this function.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveDeinit_Activity

Definition at line 402 of file flexio_i2s_driver.h.

static status_t FLEXIO_I2S_DRV_SlaveGetStatus ( flexio_i2s_slave_state_t slave,
uint32_t *  bytesRemaining 
)
inlinestatic

Get the status of the current non-blocking I2S slave transaction.

This function returns the current status of a non-blocking I2S slave transaction. A return code of STATUS_BUSY means the transfer is still in progress. Otherwise the function returns a status reflecting the outcome of the last transfer. When the driver is initialized in polling mode this function also advances the transfer by checking and handling the transmit and receive events, so it must be called frequently to avoid overflows or underflows.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
bytesRemainingthe remaining number of bytes to be transferred
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveGetStatus_Activity

Definition at line 541 of file flexio_i2s_driver.h.

status_t FLEXIO_I2S_DRV_SlaveInit ( uint32_t  instance,
const flexio_i2s_slave_user_config_t userConfigPtr,
flexio_i2s_slave_state_t slave 
)

Initialize the FLEXIO_I2S slave mode driver.

This function initializes the FLEXIO_I2S driver in slave mode.

Parameters
instanceFLEXIO peripheral instance number
userConfigPtrPointer to the FLEXIO_I2S slave user configuration structure. The function reads configuration data from this structure and initializes the driver accordingly. The application may free this structure after the function returns.
slavePointer to the FLEXIO_I2S slave driver context structure. The driver uses this memory area for its internal logic. The application must make no assumptions about the content of this structure, and must not free this memory until the driver is de-initialized using FLEXIO_I2S_DRV_SlaveDeinit().
Returns
Error or success status returned by API

Definition at line 1439 of file flexio_i2s_driver.c.

static status_t FLEXIO_I2S_DRV_SlaveReceiveData ( flexio_i2s_slave_state_t slave,
uint8_t *  rxBuff,
uint32_t  rxSize 
)
inlinestatic

Perform a non-blocking receive transaction on the I2S bus.

This function starts the reception of a block of data and returns immediately. The rest of the reception is handled by the interrupt service routine (if the driver is initialized in interrupt mode) or by the FLEXIO_I2S_DRV_SlaveGetStatus function (if the driver is initialized in polling mode). Use FLEXIO_I2S_DRV_SlaveGetStatus() to check the progress of the reception.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
rxBuffpointer to the buffer where to store received data
rxSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveReceiveData_Activity

Definition at line 482 of file flexio_i2s_driver.h.

static status_t FLEXIO_I2S_DRV_SlaveReceiveDataBlocking ( flexio_i2s_slave_state_t slave,
uint8_t *  rxBuff,
uint32_t  rxSize,
uint32_t  timeout 
)
inlinestatic

Perform a blocking receive transaction on the I2S bus.

This function receives a block of data and only returns when the reception is complete.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
rxBuffpointer to the buffer where to store received data
rxSizelength in bytes of the data to be transferred
timeouttimeout for the transfer in milliseconds
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveReceiveDataBlocking_Activity

Definition at line 502 of file flexio_i2s_driver.h.

static status_t FLEXIO_I2S_DRV_SlaveSendData ( flexio_i2s_slave_state_t slave,
const uint8_t *  txBuff,
uint32_t  txSize 
)
inlinestatic

Perform a non-blocking send transaction on the I2S bus.

This function starts the transmission of a block of data and returns immediately. The rest of the transmission is handled by the interrupt service routine (if the driver is initialized in interrupt mode) or by the FLEXIO_I2S_DRV_SlaveGetStatus function (if the driver is initialized in polling mode). Use FLEXIO_I2S_DRV_SlaveGetStatus() to check the progress of the transmission.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
txBuffpointer to the data to be transferred
txSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveSendData_Activity

Definition at line 436 of file flexio_i2s_driver.h.

static status_t FLEXIO_I2S_DRV_SlaveSendDataBlocking ( flexio_i2s_slave_state_t slave,
const uint8_t *  txBuff,
uint32_t  txSize,
uint32_t  timeout 
)
inlinestatic

Perform a blocking send transaction on the I2S bus.

This function sends a block of data, and only returns when the transmission is complete.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
txBuffpointer to the data to be transferred
txSizelength in bytes of the data to be transferred
timeouttimeout for the transfer in milliseconds
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveSendDataBlocking_Activity

Definition at line 458 of file flexio_i2s_driver.h.

status_t FLEXIO_I2S_DRV_SlaveSetConfig ( flexio_i2s_slave_state_t slave,
uint8_t  bitsWidth 
)

Set the bit width for any subsequent I2S communication.

This function sets the bit width for the I2S slave.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
bitsWidthnumber of bits per word
Returns
Error or success status returned by API

Definition at line 1521 of file flexio_i2s_driver.c.

static status_t FLEXIO_I2S_DRV_SlaveSetRxBuffer ( flexio_i2s_slave_state_t slave,
uint8_t *  rxBuff,
uint32_t  rxSize 
)
inlinestatic

Provide a buffer for receiving data.

This function can be used to provide a driver with a new buffer for receiving data. It can be called from the user callback when event STATUS_I2S_RX_OVERRUN is reported. This way the reception will continue without interruption.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
rxBuffpointer to the buffer where to store received data
rxSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveSetRxBuffer_Activity

Definition at line 560 of file flexio_i2s_driver.h.

static status_t FLEXIO_I2S_DRV_SlaveSetTxBuffer ( flexio_i2s_slave_state_t slave,
const uint8_t *  txBuff,
uint32_t  txSize 
)
inlinestatic

Provide a buffer for transmitting data.

This function can be used to provide a driver with a new buffer for transmitting data. It can be called from the user callback when event STATUS_I2S_TX_UNDERRUN is reported. This way the transmission will continue without interruption.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
txBuffpointer to the buffer containing transmit data
txSizelength in bytes of the data to be transferred
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveSetTxBuffer_Activity

Definition at line 581 of file flexio_i2s_driver.h.

static status_t FLEXIO_I2S_DRV_SlaveTransferAbort ( flexio_i2s_slave_state_t slave)
inlinestatic

Aborts a non-blocking I2S slave transaction.

This function aborts a non-blocking I2S transfer.

Parameters
slavePointer to the FLEXIO_I2S slave driver context structure.
Returns
Error or success status returned by API Implements : FLEXIO_I2S_DRV_SlaveTransferAbort_Activity

Definition at line 520 of file flexio_i2s_driver.h.