Data Structures | |
struct | XMC_I2S_CH_CONFIG_t |
Macros | |
#define | XMC_I2S0_CH0 XMC_USIC0_CH0 |
#define | XMC_I2S0_CH1 XMC_USIC0_CH1 |
#define | XMC_I2S1_CH0 XMC_USIC1_CH0 |
#define | XMC_I2S1_CH1 XMC_USIC1_CH1 |
#define | XMC_I2S2_CH0 XMC_USIC2_CH0 |
#define | XMC_I2S2_CH1 XMC_USIC2_CH1 |
USIC IIS Features:
#define XMC_I2S0_CH0 XMC_USIC0_CH0 |
USIC0 channel 0 base address
#define XMC_I2S0_CH1 XMC_USIC0_CH1 |
USIC0 channel 1 base address
#define XMC_I2S1_CH0 XMC_USIC1_CH0 |
USIC1 channel 0 base address
#define XMC_I2S1_CH1 XMC_USIC1_CH1 |
USIC1 channel 1 base address
#define XMC_I2S2_CH0 XMC_USIC2_CH0 |
USIC2 channel 0 base address
#define XMC_I2S2_CH1 XMC_USIC2_CH1 |
USIC2 channel 1 base address
enum XMC_I2S_CH_CHANNEL_t |
enum XMC_I2S_CH_EVENT_t |
I2S events.
enum XMC_I2S_CH_INPUT_t |
I2S channel interrupt node pointers.
I2S status flag.
enum XMC_I2S_CH_STATUS_t |
Defines the Polarity of the WA in the SELO output lines in relation to the internal WA signal.
void XMC_I2S_CH_ClearStatusFlag | ( | XMC_USIC_CH_t *const | channel, |
const uint32_t | flag | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
flag | Protocol event status to be cleared for detection of next occurence. Refer @ XMC_I2S_CH_STATUS_FLAG_t for valid values. OR combinations of these enum item can be used as input. |
void XMC_I2S_CH_ConfigureShiftClockOutput | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_BRG_SHIFT_CLOCK_OUTPUT_t | clock_output | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
clock_output | shift clock source. Refer XMC_I2S_CH_BRG_SHIFT_CLOCK_OUTPUT_t for valid inputs. |
void XMC_I2S_CH_DisableDataTransmission | ( | XMC_USIC_CH_t *const | channel | ) |
channel | Constant pointer to USIC channel handle of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0,XMC_I2S1_CH1,XMC_I2S2_CH0,XMC_I2S2_CH1 |
void XMC_I2S_CH_DisableDelayCompensation | ( | XMC_USIC_CH_t *const | channel | ) |
channel | Pointer to USIC channel handler of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0,XMC_I2S1_CH1,XMC_I2S2_CH0,XMC_I2S2_CH1 |
void XMC_I2S_CH_DisableEvent | ( | XMC_USIC_CH_t *const | channel, |
const uint32_t | event | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
event | Protocol events which have to be disabled. Refer @ XMC_I2S_CH_EVENT_t for valid values. OR combinations of these enum item can be used as input. |
void XMC_I2S_CH_DisableInputInversion | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_INPUT_t | input | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
input | I2S channel input stage. Refer XMC_I2S_CH_INPUT_t for valid inputs. |
void XMC_I2S_CH_DisableMasterClock | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
void XMC_I2S_CH_EnableDataTransmission | ( | XMC_USIC_CH_t *const | channel | ) |
channel | Constant pointer to USIC channel handle of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0,XMC_I2S1_CH1,XMC_I2S2_CH0,XMC_I2S2_CH1 |
void XMC_I2S_CH_EnableDelayCompensation | ( | XMC_USIC_CH_t *const | channel | ) |
channel | Pointer to USIC channel handler of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0,XMC_I2S1_CH1,XMC_I2S2_CH0,XMC_I2S2_CH1 |
void XMC_I2S_CH_EnableEvent | ( | XMC_USIC_CH_t *const | channel, |
const uint32_t | event | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
event | Protocol events which have to be enabled. Refer @ XMC_I2S_CH_EVENT_t for valid values. OR combinations of these enum items can be used as input. |
void XMC_I2S_CH_EnableInputInversion | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_INPUT_t | input | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
input | I2S channel input stage. Refer XMC_I2S_CH_INPUT_t for valid inputs. |
void XMC_I2S_CH_EnableMasterClock | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
uint16_t XMC_I2S_CH_GetReceivedData | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
uint32_t XMC_I2S_CH_GetStatusFlag | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
void XMC_I2S_CH_Init | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_CONFIG_t *const | config | ||
) |
channel | Constant pointer to USIC channel handle of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0, XMC_I2S1_CH1,XMC_I2S2_CH0, XMC_I2S2_CH1 |
config | Constant pointer to I2S configuration structure of type XMC_I2S_CH_CONFIG_t. |
XMC_I2S_CH_Start() should be invoked after the initialization to enable the channel.
void XMC_I2S_CH_InitEx | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_CONFIG_t *const | config, | ||
bool | init_brg | ||
) |
channel | Constant pointer to USIC channel handle of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0, XMC_I2S1_CH1,XMC_I2S2_CH0, XMC_I2S2_CH1 |
config | Constant pointer to I2S configuration structure of type XMC_I2S_CH_CONFIG_t. |
init_brg | Selects if the baudrate generator should be configured automatically. |
XMC_I2S_CH_Start() should be invoked after the initialization to enable the channel.
void XMC_I2S_CH_Receive | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_CHANNEL_t | channel_number | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
channel_number | Communication output channel of the I2S, based on this mode TCI(Transmit control information)is updated. Refer XMC_I2S_CH_CHANNEL_t for valid values. |
void XMC_I2S_CH_SelectInterruptNodePointer | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_INTERRUPT_NODE_POINTER_t | interrupt_node, | ||
const uint32_t | service_request | ||
) |
channel | Pointer to USIC channel handler of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0,XMC_I2S1_CH1,XMC_I2S2_CH0,XMC_I2S2_CH1 |
interrupt_node | Interrupt node pointer to be configured. Range: XMC_I2S_CH_INTERRUPT_NODE_POINTER_TRANSMIT_SHIFT, XMC_I2S_CH_INTERRUPT_NODE_POINTER_TRANSMIT_BUFFER etc. |
service_request | Service request number. Range: 0 to 5. |
XMC_I2S_CH_STATUS_t XMC_I2S_CH_SetBaudrate | ( | XMC_USIC_CH_t *const | channel, |
const uint32_t | rate | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
rate | Bus speed in bits per second |
XMC_I2S_CH_STATUS_t XMC_I2S_CH_SetBaudrateEx | ( | XMC_USIC_CH_t *const | channel, |
const uint32_t | rate, | ||
bool | normal_divider_mode | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
rate | Bus speed in bits per second |
normal_divider_mode | Selects normal divider mode for baudrate generator instead of default fractional divider decreasing jitter at cost of frequency selection |
void XMC_I2S_CH_SetBitOrderLsbFirst | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
void XMC_I2S_CH_SetBitOrderMsbFirst | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
void XMC_I2S_CH_SetFrameLength | ( | XMC_USIC_CH_t *const | channel, |
const uint8_t | frame_length | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
frame_length | Number of bits in a frame. Range: 1 to 64. |
void XMC_I2S_CH_SetInputSource | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_INPUT_t | input, | ||
const uint8_t | source | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
input | I2S channel input stage. Refer XMC_I2S_CH_INPUT_t for valid values |
source | Input source select for the input stage. Range : [0 to 7] |
void XMC_I2S_CH_SetInterruptNodePointer | ( | XMC_USIC_CH_t *const | channel, |
const uint8_t | service_request | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
service_request | Service request number. Range: [0 to 5] |
void XMC_I2S_CH_SetSystemWordLength | ( | XMC_USIC_CH_t *const | channel, |
uint32_t | sclk_cycles_system_word_length | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
sclk_cycles_system_word_length | system word length in terms of sclk clock cycles. |
void XMC_I2S_CH_SetWordLength | ( | XMC_USIC_CH_t *const | channel, |
const uint8_t | word_length | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
word_length | Number of bits to be configured for a data word. Range: 1 to 16. |
void XMC_I2S_CH_Start | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
XMC_I2S_CH_STATUS_t XMC_I2S_CH_Stop | ( | XMC_USIC_CH_t *const | channel | ) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
void XMC_I2S_CH_Transmit | ( | XMC_USIC_CH_t *const | channel, |
const uint16_t | data, | ||
const XMC_I2S_CH_CHANNEL_t | channel_number | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
data | Data to be transmitted |
channel_number | Communication output channel of the I2S, based on this channel selection TCI(Transmit control information)is updated. Refer XMC_I2S_CH_CHANNEL_t for valid values. |
void XMC_I2S_CH_TriggerServiceRequest | ( | XMC_USIC_CH_t *const | channel, |
const uint32_t | service_request_line | ||
) |
channel | Pointer to USIC channel handler of type XMC_USIC_CH_t Range: XMC_I2S0_CH0, XMC_I2S0_CH1,XMC_I2S1_CH0,XMC_I2S1_CH1,XMC_I2S2_CH0,XMC_I2S2_CH1 |
service_request_line | service request number of the event to be triggered. Range: 0 to 5. |
void XMC_I2S_CH_WordAddressSignalPolarity | ( | XMC_USIC_CH_t *const | channel, |
const XMC_I2S_CH_WA_POLARITY_t | wa_inversion | ||
) |
channel | A constant pointer to XMC_USIC_CH_t, pointing to the USIC channel base address. |
wa_inversion | Polarity of the word address signal. Refer XMC_I2S_CH_WA_POLARITY_t for valid values |