28 #if (HAL_USE_I2S == TRUE) || defined(__DOXYGEN__) 38 #define I2S_MODE_SLAVE 0 39 #define I2S_MODE_MASTER 1 82 #define i2sStartExchangeI(i2sp) { \ 83 i2s_lld_start_exchange(i2sp); \ 84 (i2sp)->state = I2S_ACTIVE; \ 96 #define i2sStopExchangeI(i2sp) { \ 97 i2s_lld_stop_exchange(i2sp); \ 98 (i2sp)->state = I2S_READY; \ 113 #define _i2s_isr_half_code(i2sp) { \ 114 if ((i2sp)->config->end_cb != NULL) { \ 115 (i2sp)->config->end_cb(i2sp, 0, (i2sp)->config->size / 2); \ 132 #define _i2s_isr_full_code(i2sp) { \ 133 if ((i2sp)->config->end_cb) { \ 134 (i2sp)->state = I2S_COMPLETE; \ 135 (i2sp)->config->end_cb(i2sp, \ 136 (i2sp)->config->size / 2, \ 137 (i2sp)->config->size / 2); \ 138 if ((i2sp)->state == I2S_COMPLETE) { \ 139 (i2sp)->state = I2S_ACTIVE; \ i2sstate_t
Driver state machine possible states.
void i2sInit(void)
I2S Driver initialization.
Driver configuration structure.
void i2sStop(I2SDriver *i2sp)
Deactivates the I2S peripheral.
PLATFORM I2S subsystem low level driver header.
void i2sObjectInit(I2SDriver *i2sp)
Initializes the standard part of a I2SDriver structure.
void i2sStartExchange(I2SDriver *i2sp)
Starts a I2S data exchange.
Structure representing an I2S driver.
void i2sStart(I2SDriver *i2sp, const I2SConfig *config)
Configures and activates the I2S peripheral.
void i2sStopExchange(I2SDriver *i2sp)
Stops the ongoing data exchange.