|
NetBurner 3.5.6
PDF Version |
| enum bitOrder_t |
#include <sai.h>
Bit transmission order within each word.
Determines whether the least significant bit or most significant bit is transmitted first on the data line.
| Enumerator | |
|---|---|
| LEAST_SIG_FIRST | LSB transmitted first (uncommon for audio) |
| MOST_SIG_FIRST | MSB transmitted first (standard for I2S and most audio protocols) |
| enum bufferDepletionBehavior_t |
#include <sai.h>
DMA behavior when all queued buffers are exhausted.
Defines what the DMA channel should do when it runs out of buffers to process. This is critical for preventing underruns/overruns.
| Enumerator | |
|---|---|
| DEPLETED_PAUSE | Pause transfers when buffers depleted (recommended for most uses) |
| DEPLETED_REPEAT_LAST | Continuously repeat the last buffer in the chain (useful for streaming) |
| enum clkCh_t |
#include <sai.h>
Clock channel selection for determining which clock signal to use.
Allows selection between transmit clock, receive clock, or channel default. Used for clock sharing between TX and RX channels.
| Enumerator | |
|---|---|
| CLK_CH_CH | Use the channel's default clock source |
| CLK_CH_RK | Use the receive clock (BCLK_RX) for this channel |
| CLK_CH_TK | Use the transmit clock (BCLK_TX) for this channel |
| enum clkGate_t |
#include <sai.h>
Clock gating mode for power optimization.
Controls when the bit clock is actively driven to reduce power consumption and EMI when no data transfer is occurring.
| Enumerator | |
|---|---|
| CLK_GATE_CONTINUOUS | Clock runs continuously (always enabled) |
| CLK_GATE_FRAME_LOW | Clock enabled only when frame sync is low |
| CLK_GATE_FRAME_HIGH | Clock enabled only when frame sync is high |
| enum clkOut_t |
#include <sai.h>
Bit clock output mode configuration.
Controls whether the bit clock is driven as an output (master mode) or used as an input (slave mode), and when it is active.
| enum clkPol_t |
#include <sai.h>
Clock polarity configuration.
Determines the active edge of the bit clock for data sampling and driving.
| Enumerator | |
|---|---|
| CLK_ACTIVE_HIGH | Clock is active high: drive data on rising edge, sample on falling edge |
| CLK_ACTIVE_LOW | Clock is active low: drive data on falling edge, sample on rising edge |
| enum clkSrc_t |
#include <sai.h>
Clock source selection for SAI bit clock generation.
The SAI can generate its bit clock from different sources depending on whether the device is operating as a master or slave.
| Enumerator | |
|---|---|
| CLK_SRC_MCK | Clock source is the divided peripheral master clock (for master mode) |
| CLK_SRC_EXT | Clock source is an external clock input (for slave mode or clock sharing) |
| enum dataPacking_t |
#include <sai.h>
Buffer word format and data justification.
Defines how data is packed in memory buffers and whether it is left-justified or right-justified within the word. This affects how the DMA interprets the buffer data when moving it to/from the SAI FIFO.
| enum frameEdge_t |
#include <sai.h>
Frame sync edge that indicates the start of a new frame.
Determines whether a rising or falling edge of the frame sync signal marks the beginning of a data frame.
| Enumerator | |
|---|---|
| FRAME_SYNC_RISING | New frame begins on rising edge of frame sync |
| FRAME_SYNC_FALLING | New frame begins on falling edge of frame sync |
| enum frameSyncCh_t |
#include <sai.h>
Frame synchronization channel selection.
Determines which frame sync signal is used for synchronizing frame boundaries. Allows sharing of frame sync between TX and RX channels.
| enum frameSyncOut_t |
#include <sai.h>
Frame synchronization signal output mode.
Configures whether the frame sync is an input or output, and the polarity of the pulse when operating as an output.
| enum rxTxSync_t |
#include <sai.h>
Synchronization mode between RX and TX channels.
Determines whether the receive and transmit channels operate independently or share clock and frame sync signals.
| enum startCond_t |
#include <sai.h>
Starting conditions that trigger SAI data transfers.
Defines when the SAI peripheral should begin transferring data. Different conditions are appropriate for different protocols and operating modes.