STM32F479xx HAL User Manual
|
I2SEx IO operation functions. More...
Functions | |
HAL_StatusTypeDef | HAL_I2SEx_TransmitReceive (I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size, uint32_t Timeout) |
Full-Duplex Transmit/Receive data in blocking mode. | |
HAL_StatusTypeDef | HAL_I2SEx_TransmitReceive_IT (I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size) |
Full-Duplex Transmit/Receive data in non-blocking mode using Interrupt. | |
HAL_StatusTypeDef | HAL_I2SEx_TransmitReceive_DMA (I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size) |
Full-Duplex Transmit/Receive data in non-blocking mode using DMA. | |
void | HAL_I2SEx_FullDuplex_IRQHandler (I2S_HandleTypeDef *hi2s) |
This function handles I2S/I2Sext interrupt requests in full-duplex mode. | |
__weak void | HAL_I2SEx_TxRxHalfCpltCallback (I2S_HandleTypeDef *hi2s) |
Tx and Rx Transfer half completed callback. | |
__weak void | HAL_I2SEx_TxRxCpltCallback (I2S_HandleTypeDef *hi2s) |
Tx and Rx Transfer completed callback. |
I2SEx IO operation functions.
=============================================================================== ##### IO operation functions##### =============================================================================== [..] This subsection provides a set of functions allowing to manage the I2S data transfers. (#) There are two modes of transfer: (++) Blocking mode : The communication is performed in the polling mode. The status of all data processing is returned by the same function after finishing transfer. (++) No-Blocking mode : The communication is performed using Interrupts or DMA. These functions return the status of the transfer startup. The end of the data processing will be indicated through the dedicated I2S IRQ when using Interrupt mode or the DMA IRQ when using DMA mode. (#) Blocking mode functions are : (++) HAL_I2SEx_TransmitReceive() (#) No-Blocking mode functions with Interrupt are : (++) HAL_I2SEx_TransmitReceive_IT() (++) HAL_I2SEx_FullDuplex_IRQHandler() (#) No-Blocking mode functions with DMA are : (++) HAL_I2SEx_TransmitReceive_DMA() (#) A set of Transfer Complete Callback are provided in non Blocking mode: (++) HAL_I2SEx_TxRxCpltCallback()
void HAL_I2SEx_FullDuplex_IRQHandler | ( | I2S_HandleTypeDef * | hi2s | ) |
This function handles I2S/I2Sext interrupt requests in full-duplex mode.
hi2s | I2S handle |
HAL | status |
Definition at line 679 of file stm32f4xx_hal_i2s_ex.c.
References __HAL_I2S_CLEAR_OVRFLAG, __HAL_I2S_CLEAR_UDRFLAG, __HAL_I2S_DISABLE_IT, __HAL_I2SEXT_DISABLE_IT, __I2S_HandleTypeDef::ErrorCallback, __I2S_HandleTypeDef::ErrorCode, HAL_I2S_ERROR_OVR, HAL_I2S_ERROR_UDR, HAL_I2S_ErrorCallback(), HAL_I2S_STATE_READY, I2S_FLAG_OVR, I2S_FLAG_RXNE, I2S_FLAG_TXE, I2S_FLAG_UDR, I2S_IT_ERR, I2S_IT_RXNE, I2S_IT_TXE, I2S_MODE_MASTER_TX, I2S_MODE_SLAVE_TX, I2SEx_RxISR_I2S(), I2SEx_RxISR_I2SExt(), I2SEx_TxISR_I2S(), I2SEx_TxISR_I2SExt(), I2SxEXT, __I2S_HandleTypeDef::Init, __I2S_HandleTypeDef::Instance, I2S_InitTypeDef::Mode, and __I2S_HandleTypeDef::State.
Referenced by HAL_I2S_Init().
HAL_StatusTypeDef HAL_I2SEx_TransmitReceive | ( | I2S_HandleTypeDef * | hi2s, |
uint16_t * | pTxData, | ||
uint16_t * | pRxData, | ||
uint16_t | Size, | ||
uint32_t | Timeout | ||
) |
Full-Duplex Transmit/Receive data in blocking mode.
hi2s | pointer to a I2S_HandleTypeDef structure that contains the configuration information for I2S module |
pTxData | a 16-bit pointer to the Transmit data buffer. |
pRxData | a 16-bit pointer to the Receive data buffer. |
Size | number of data sample to be sent: |
Timeout | Timeout duration |
HAL | status |
Definition at line 208 of file stm32f4xx_hal_i2s_ex.c.
References __HAL_I2S_CLEAR_OVRFLAG, __HAL_I2S_CLEAR_UDRFLAG, __HAL_I2S_ENABLE, __HAL_I2S_GET_FLAG, __HAL_I2SEXT_CLEAR_OVRFLAG, __HAL_I2SEXT_ENABLE, __HAL_I2SEXT_GET_FLAG, __I2S_HandleTypeDef::ErrorCode, HAL_I2S_ERROR_NONE, HAL_I2S_ERROR_OVR, HAL_I2S_ERROR_TIMEOUT, HAL_I2S_ERROR_UDR, HAL_I2S_STATE_BUSY_TX_RX, HAL_I2S_STATE_READY, I2S_DATAFORMAT_24B, I2S_DATAFORMAT_32B, I2S_FLAG_OVR, I2S_FLAG_RXNE, I2S_FLAG_TXE, I2S_FLAG_UDR, I2S_MODE_MASTER_RX, I2S_MODE_MASTER_TX, I2S_MODE_SLAVE_RX, I2S_MODE_SLAVE_TX, I2S_USE_I2S, I2S_USE_I2SEXT, I2SEx_FullDuplexWaitFlagStateUntilTimeout(), I2SxEXT, __I2S_HandleTypeDef::Instance, __I2S_HandleTypeDef::RxXferCount, __I2S_HandleTypeDef::RxXferSize, __I2S_HandleTypeDef::State, __I2S_HandleTypeDef::TxXferCount, and __I2S_HandleTypeDef::TxXferSize.
HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_DMA | ( | I2S_HandleTypeDef * | hi2s, |
uint16_t * | pTxData, | ||
uint16_t * | pRxData, | ||
uint16_t | Size | ||
) |
Full-Duplex Transmit/Receive data in non-blocking mode using DMA.
hi2s | pointer to a I2S_HandleTypeDef structure that contains the configuration information for I2S module |
pTxData | a 16-bit pointer to the Transmit data buffer. |
pRxData | a 16-bit pointer to the Receive data buffer. |
Size | number of data sample to be sent: |
HAL | status |
Definition at line 541 of file stm32f4xx_hal_i2s_ex.c.
References __HAL_I2S_CLEAR_OVRFLAG, __HAL_I2S_ENABLE, __HAL_I2SEXT_ENABLE, __I2S_HandleTypeDef::ErrorCode, HAL_DMA_Start_IT(), HAL_I2S_ERROR_NONE, HAL_I2S_STATE_BUSY_TX_RX, HAL_I2S_STATE_READY, __I2S_HandleTypeDef::hdmarx, __I2S_HandleTypeDef::hdmatx, I2S_DATAFORMAT_24B, I2S_DATAFORMAT_32B, I2S_MODE_MASTER_RX, I2S_MODE_MASTER_TX, I2S_MODE_SLAVE_TX, I2SEx_TxRxDMACplt(), I2SEx_TxRxDMAError(), I2SEx_TxRxDMAHalfCplt(), I2SxEXT, __I2S_HandleTypeDef::Instance, __I2S_HandleTypeDef::pRxBuffPtr, __I2S_HandleTypeDef::pTxBuffPtr, __I2S_HandleTypeDef::RxXferCount, __I2S_HandleTypeDef::RxXferSize, __I2S_HandleTypeDef::State, __I2S_HandleTypeDef::TxXferCount, __I2S_HandleTypeDef::TxXferSize, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, and __DMA_HandleTypeDef::XferHalfCpltCallback.
HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_IT | ( | I2S_HandleTypeDef * | hi2s, |
uint16_t * | pTxData, | ||
uint16_t * | pRxData, | ||
uint16_t | Size | ||
) |
Full-Duplex Transmit/Receive data in non-blocking mode using Interrupt.
hi2s | pointer to a I2S_HandleTypeDef structure that contains the configuration information for I2S module |
pTxData | a 16-bit pointer to the Transmit data buffer. |
pRxData | a 16-bit pointer to the Receive data buffer. |
Size | number of data sample to be sent: |
HAL | status |
Definition at line 429 of file stm32f4xx_hal_i2s_ex.c.
References __HAL_I2S_DISABLE_IT, __HAL_I2S_ENABLE, __HAL_I2S_ENABLE_IT, __HAL_I2SEXT_DISABLE_IT, __HAL_I2SEXT_ENABLE, __HAL_I2SEXT_ENABLE_IT, __I2S_HandleTypeDef::ErrorCode, HAL_I2S_ERROR_NONE, HAL_I2S_STATE_BUSY_TX_RX, HAL_I2S_STATE_READY, I2S_DATAFORMAT_24B, I2S_DATAFORMAT_32B, I2S_IT_ERR, I2S_IT_RXNE, I2S_IT_TXE, I2S_MODE_MASTER_TX, I2S_MODE_SLAVE_TX, I2SxEXT, __I2S_HandleTypeDef::Init, __I2S_HandleTypeDef::Instance, I2S_InitTypeDef::Mode, __I2S_HandleTypeDef::pRxBuffPtr, __I2S_HandleTypeDef::pTxBuffPtr, __I2S_HandleTypeDef::RxXferCount, __I2S_HandleTypeDef::RxXferSize, __I2S_HandleTypeDef::State, __I2S_HandleTypeDef::TxXferCount, and __I2S_HandleTypeDef::TxXferSize.
void HAL_I2SEx_TxRxCpltCallback | ( | I2S_HandleTypeDef * | hi2s | ) |
Tx and Rx Transfer completed callback.
hi2s | I2S handle |
None |
Definition at line 840 of file stm32f4xx_hal_i2s_ex.c.
Referenced by HAL_I2S_Init(), HAL_I2S_UnRegisterCallback(), I2SEx_RxISR_I2S(), I2SEx_RxISR_I2SExt(), I2SEx_TxISR_I2S(), I2SEx_TxISR_I2SExt(), and I2SEx_TxRxDMACplt().
void HAL_I2SEx_TxRxHalfCpltCallback | ( | I2S_HandleTypeDef * | hi2s | ) |
Tx and Rx Transfer half completed callback.
hi2s | I2S handle |
None |
Definition at line 825 of file stm32f4xx_hal_i2s_ex.c.
Referenced by HAL_I2S_Init(), HAL_I2S_UnRegisterCallback(), and I2SEx_TxRxDMAHalfCplt().