STM32H735xx HAL User Manual
|
Data transfers functions. More...
Functions | |
HAL_StatusTypeDef | HAL_SAI_Transmit (SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
Transmit an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SAI_Receive (SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
Receive an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SAI_Transmit_IT (SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) |
Transmit an amount of data in non-blocking mode with Interrupt. | |
HAL_StatusTypeDef | HAL_SAI_Receive_IT (SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) |
Receive an amount of data in non-blocking mode with Interrupt. | |
HAL_StatusTypeDef | HAL_SAI_DMAPause (SAI_HandleTypeDef *hsai) |
Pause the audio stream playing from the Media. | |
HAL_StatusTypeDef | HAL_SAI_DMAResume (SAI_HandleTypeDef *hsai) |
Resume the audio stream playing from the Media. | |
HAL_StatusTypeDef | HAL_SAI_DMAStop (SAI_HandleTypeDef *hsai) |
Stop the audio stream playing from the Media. | |
HAL_StatusTypeDef | HAL_SAI_Abort (SAI_HandleTypeDef *hsai) |
Abort the current transfer and disable the SAI. | |
HAL_StatusTypeDef | HAL_SAI_Transmit_DMA (SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) |
Transmit an amount of data in non-blocking mode with DMA. | |
HAL_StatusTypeDef | HAL_SAI_Receive_DMA (SAI_HandleTypeDef *hsai, uint8_t *pData, uint16_t Size) |
Receive an amount of data in non-blocking mode with DMA. | |
HAL_StatusTypeDef | HAL_SAI_EnableTxMuteMode (SAI_HandleTypeDef *hsai, uint16_t val) |
Enable the Tx mute mode. | |
HAL_StatusTypeDef | HAL_SAI_DisableTxMuteMode (SAI_HandleTypeDef *hsai) |
Disable the Tx mute mode. | |
HAL_StatusTypeDef | HAL_SAI_EnableRxMuteMode (SAI_HandleTypeDef *hsai, SAIcallback callback, uint16_t counter) |
Enable the Rx mute detection. | |
HAL_StatusTypeDef | HAL_SAI_DisableRxMuteMode (SAI_HandleTypeDef *hsai) |
Disable the Rx mute detection. | |
void | HAL_SAI_IRQHandler (SAI_HandleTypeDef *hsai) |
Handle SAI interrupt request. | |
__weak void | HAL_SAI_TxCpltCallback (SAI_HandleTypeDef *hsai) |
Tx Transfer completed callback. | |
__weak void | HAL_SAI_TxHalfCpltCallback (SAI_HandleTypeDef *hsai) |
Tx Transfer Half completed callback. | |
__weak void | HAL_SAI_RxCpltCallback (SAI_HandleTypeDef *hsai) |
Rx Transfer completed callback. | |
__weak void | HAL_SAI_RxHalfCpltCallback (SAI_HandleTypeDef *hsai) |
Rx Transfer half completed callback. | |
__weak void | HAL_SAI_ErrorCallback (SAI_HandleTypeDef *hsai) |
SAI error callback. |
Data transfers functions.
============================================================================== ##### IO operation functions ##### ============================================================================== [..] This subsection provides a set of functions allowing to manage the SAI 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 SAI IRQ when using Interrupt mode or the DMA IRQ when using DMA mode. (+) Blocking mode functions are : (++) HAL_SAI_Transmit() (++) HAL_SAI_Receive() (+) Non Blocking mode functions with Interrupt are : (++) HAL_SAI_Transmit_IT() (++) HAL_SAI_Receive_IT() (+) Non Blocking mode functions with DMA are : (++) HAL_SAI_Transmit_DMA() (++) HAL_SAI_Receive_DMA() (+) A set of Transfer Complete Callbacks are provided in non Blocking mode: (++) HAL_SAI_TxCpltCallback() (++) HAL_SAI_RxCpltCallback() (++) HAL_SAI_ErrorCallback()
HAL_StatusTypeDef HAL_SAI_Abort | ( | SAI_HandleTypeDef * | hsai | ) |
Abort the current transfer and disable the SAI.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
HAL | status |
Definition at line 1572 of file stm32h7xx_hal_sai.c.
References __DMA_HandleTypeDef::ErrorCode, __SAI_HandleTypeDef::ErrorCode, HAL_DMA_Abort(), HAL_DMA_ERROR_NO_XFER, HAL_SAI_ERROR_DMA, HAL_SAI_STATE_BUSY_RX, HAL_SAI_STATE_BUSY_TX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::hdmarx, __SAI_HandleTypeDef::hdmatx, __SAI_HandleTypeDef::Instance, SAI_Disable(), and __SAI_HandleTypeDef::State.
Referenced by HAL_SAI_IRQHandler().
HAL_StatusTypeDef HAL_SAI_DisableRxMuteMode | ( | SAI_HandleTypeDef * | hsai | ) |
Disable the Rx mute detection.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
HAL | status |
Definition at line 1860 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_DISABLE_IT, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::mutecallback, SAI_IT_MUTEDET, and __SAI_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SAI_DisableTxMuteMode | ( | SAI_HandleTypeDef * | hsai | ) |
Disable the Tx mute mode.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
HAL | status |
Definition at line 1819 of file stm32h7xx_hal_sai.c.
References HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::Instance, and __SAI_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SAI_DMAPause | ( | SAI_HandleTypeDef * | hsai | ) |
Pause the audio stream playing from the Media.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
HAL | status |
Definition at line 1463 of file stm32h7xx_hal_sai.c.
References __SAI_HandleTypeDef::Instance.
HAL_StatusTypeDef HAL_SAI_DMAResume | ( | SAI_HandleTypeDef * | hsai | ) |
Resume the audio stream playing from the Media.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
HAL | status |
Definition at line 1483 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE, and __SAI_HandleTypeDef::Instance.
HAL_StatusTypeDef HAL_SAI_DMAStop | ( | SAI_HandleTypeDef * | hsai | ) |
Stop the audio stream playing from the Media.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
HAL | status |
Definition at line 1510 of file stm32h7xx_hal_sai.c.
References __DMA_HandleTypeDef::ErrorCode, __SAI_HandleTypeDef::ErrorCode, HAL_DMA_Abort(), HAL_DMA_ERROR_NO_XFER, HAL_SAI_ERROR_DMA, HAL_SAI_STATE_BUSY_RX, HAL_SAI_STATE_BUSY_TX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::hdmarx, __SAI_HandleTypeDef::hdmatx, __SAI_HandleTypeDef::Instance, SAI_Disable(), and __SAI_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SAI_EnableRxMuteMode | ( | SAI_HandleTypeDef * | hsai, |
SAIcallback | callback, | ||
uint16_t | counter | ||
) |
Enable the Rx mute detection.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
callback | function called when the mute is detected. |
counter | number a data before mute detection max 63. |
HAL | status |
Definition at line 1837 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE_IT, assert_param, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::Instance, IS_SAI_BLOCK_MUTE_COUNTER, __SAI_HandleTypeDef::mutecallback, SAI_IT_MUTEDET, and __SAI_HandleTypeDef::State.
HAL_StatusTypeDef HAL_SAI_EnableTxMuteMode | ( | SAI_HandleTypeDef * | hsai, |
uint16_t | val | ||
) |
Enable the Tx mute mode.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
val | value sent during the mute SAI Block Mute Value |
HAL | status |
Definition at line 1800 of file stm32h7xx_hal_sai.c.
References assert_param, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::Instance, IS_SAI_BLOCK_MUTE_VALUE, and __SAI_HandleTypeDef::State.
void HAL_SAI_ErrorCallback | ( | SAI_HandleTypeDef * | hsai | ) |
SAI error callback.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
None |
Definition at line 2216 of file stm32h7xx_hal_sai.c.
Referenced by HAL_SAI_Init(), HAL_SAI_IRQHandler(), HAL_SAI_UnRegisterCallback(), SAI_DMAAbort(), and SAI_DMAError().
void HAL_SAI_IRQHandler | ( | SAI_HandleTypeDef * | hsai | ) |
Handle SAI interrupt request.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
None |
Definition at line 1879 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_CLEAR_FLAG, __SAI_HandleTypeDef::ErrorCallback, __SAI_HandleTypeDef::ErrorCode, HAL_DMA_Abort_IT(), HAL_SAI_Abort(), HAL_SAI_ERROR_AFSDET, HAL_SAI_ERROR_CNREADY, HAL_SAI_ERROR_DMA, HAL_SAI_ERROR_LFSDET, HAL_SAI_ERROR_OVR, HAL_SAI_ERROR_UDR, HAL_SAI_ERROR_WCKCFG, HAL_SAI_ErrorCallback(), HAL_SAI_STATE_BUSY_RX, HAL_SAI_STATE_READY, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::hdmarx, __SAI_HandleTypeDef::hdmatx, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::InterruptServiceRoutine, __SAI_HandleTypeDef::mutecallback, SAI_DMAAbort(), SAI_FLAG_AFSDET, SAI_FLAG_CNRDY, SAI_FLAG_LFSDET, SAI_FLAG_MUTEDET, SAI_FLAG_OVRUDR, SAI_FLAG_WCKCFG, SAI_IT_AFSDET, SAI_IT_CNRDY, SAI_IT_FREQ, SAI_IT_LFSDET, SAI_IT_MUTEDET, SAI_IT_OVRUDR, SAI_IT_WCKCFG, __SAI_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, and __SAI_HandleTypeDef::XferCount.
HAL_StatusTypeDef HAL_SAI_Receive | ( | SAI_HandleTypeDef * | hsai, |
uint8_t * | pData, | ||
uint16_t | Size, | ||
uint32_t | Timeout | ||
) |
Receive an amount of data in blocking mode.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
pData | Pointer to data buffer |
Size | Amount of data to be received |
Timeout | Timeout duration |
HAL | status |
Definition at line 1233 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE, SAI_InitTypeDef::CompandingMode, SAI_InitTypeDef::DataSize, __SAI_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_SAI_ERROR_NONE, HAL_SAI_ERROR_TIMEOUT, HAL_SAI_STATE_BUSY_RX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::Init, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::pBuffPtr, SAI_DATASIZE_16, SAI_DATASIZE_8, SAI_Disable(), SAI_FIFOSTATUS_EMPTY, SAI_NOCOMPANDING, __SAI_HandleTypeDef::State, __SAI_HandleTypeDef::XferCount, and __SAI_HandleTypeDef::XferSize.
HAL_StatusTypeDef HAL_SAI_Receive_DMA | ( | SAI_HandleTypeDef * | hsai, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Receive an amount of data in non-blocking mode with DMA.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
pData | Pointer to data buffer |
Size | Amount of data to be received |
HAL | status |
Definition at line 1731 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE, __HAL_SAI_ENABLE_IT, __SAI_HandleTypeDef::ErrorCode, HAL_DMA_Start_IT(), HAL_SAI_ERROR_NONE, HAL_SAI_STATE_BUSY_RX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::hdmarx, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::pBuffPtr, SAI_DMAError(), SAI_DMARxCplt(), SAI_DMARxHalfCplt(), SAI_InterruptFlag(), SAI_MODE_DMA, __SAI_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __SAI_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, and __SAI_HandleTypeDef::XferSize.
HAL_StatusTypeDef HAL_SAI_Receive_IT | ( | SAI_HandleTypeDef * | hsai, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Receive an amount of data in non-blocking mode with Interrupt.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
pData | Pointer to data buffer |
Size | Amount of data to be received |
HAL | status |
Definition at line 1405 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE, __HAL_SAI_ENABLE_IT, SAI_InitTypeDef::CompandingMode, SAI_InitTypeDef::DataSize, __SAI_HandleTypeDef::ErrorCode, HAL_SAI_ERROR_NONE, HAL_SAI_STATE_BUSY_RX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::Init, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::InterruptServiceRoutine, __SAI_HandleTypeDef::pBuffPtr, SAI_DATASIZE_16, SAI_DATASIZE_8, SAI_InterruptFlag(), SAI_MODE_IT, SAI_NOCOMPANDING, SAI_Receive_IT16Bit(), SAI_Receive_IT32Bit(), SAI_Receive_IT8Bit(), __SAI_HandleTypeDef::State, __SAI_HandleTypeDef::XferCount, and __SAI_HandleTypeDef::XferSize.
void HAL_SAI_RxCpltCallback | ( | SAI_HandleTypeDef * | hsai | ) |
Rx Transfer completed callback.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
None |
Definition at line 2184 of file stm32h7xx_hal_sai.c.
Referenced by HAL_SAI_Init(), HAL_SAI_UnRegisterCallback(), SAI_DMARxCplt(), SAI_Receive_IT16Bit(), SAI_Receive_IT32Bit(), and SAI_Receive_IT8Bit().
void HAL_SAI_RxHalfCpltCallback | ( | SAI_HandleTypeDef * | hsai | ) |
Rx Transfer half completed callback.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
None |
Definition at line 2200 of file stm32h7xx_hal_sai.c.
Referenced by HAL_SAI_Init(), HAL_SAI_UnRegisterCallback(), and SAI_DMARxHalfCplt().
HAL_StatusTypeDef HAL_SAI_Transmit | ( | SAI_HandleTypeDef * | hsai, |
uint8_t * | pData, | ||
uint16_t | Size, | ||
uint32_t | Timeout | ||
) |
Transmit an amount of data in blocking mode.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
pData | Pointer to data buffer |
Size | Amount of data to be sent |
Timeout | Timeout duration |
HAL | status |
Definition at line 1120 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE, SAI_InitTypeDef::CompandingMode, SAI_InitTypeDef::DataSize, __SAI_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_SAI_ERROR_NONE, HAL_SAI_ERROR_TIMEOUT, HAL_SAI_STATE_BUSY_TX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::Init, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::pBuffPtr, SAI_DATASIZE_16, SAI_DATASIZE_8, SAI_Disable(), SAI_FIFOSTATUS_FULL, SAI_FillFifo(), SAI_NOCOMPANDING, __SAI_HandleTypeDef::State, __SAI_HandleTypeDef::XferCount, and __SAI_HandleTypeDef::XferSize.
HAL_StatusTypeDef HAL_SAI_Transmit_DMA | ( | SAI_HandleTypeDef * | hsai, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Transmit an amount of data in non-blocking mode with DMA.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
pData | Pointer to data buffer |
Size | Amount of data to be sent |
HAL | status |
Definition at line 1644 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE, __HAL_SAI_ENABLE_IT, __SAI_HandleTypeDef::ErrorCode, HAL_DMA_Start_IT(), HAL_GetTick(), HAL_SAI_ERROR_NONE, HAL_SAI_ERROR_TIMEOUT, HAL_SAI_STATE_BUSY_TX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::hdmatx, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::pBuffPtr, SAI_DMAError(), SAI_DMATxCplt(), SAI_DMATxHalfCplt(), SAI_FIFOSTATUS_EMPTY, SAI_InterruptFlag(), SAI_LONG_TIMEOUT, SAI_MODE_DMA, __SAI_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __SAI_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, and __SAI_HandleTypeDef::XferSize.
HAL_StatusTypeDef HAL_SAI_Transmit_IT | ( | SAI_HandleTypeDef * | hsai, |
uint8_t * | pData, | ||
uint16_t | Size | ||
) |
Transmit an amount of data in non-blocking mode with Interrupt.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
pData | Pointer to data buffer |
Size | Amount of data to be sent |
HAL | status |
Definition at line 1343 of file stm32h7xx_hal_sai.c.
References __HAL_SAI_ENABLE, __HAL_SAI_ENABLE_IT, SAI_InitTypeDef::CompandingMode, SAI_InitTypeDef::DataSize, __SAI_HandleTypeDef::ErrorCode, HAL_SAI_ERROR_NONE, HAL_SAI_STATE_BUSY_TX, HAL_SAI_STATE_READY, __SAI_HandleTypeDef::Init, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::InterruptServiceRoutine, __SAI_HandleTypeDef::pBuffPtr, SAI_DATASIZE_16, SAI_DATASIZE_8, SAI_FillFifo(), SAI_InterruptFlag(), SAI_MODE_IT, SAI_NOCOMPANDING, SAI_Transmit_IT16Bit(), SAI_Transmit_IT32Bit(), SAI_Transmit_IT8Bit(), __SAI_HandleTypeDef::State, __SAI_HandleTypeDef::XferCount, and __SAI_HandleTypeDef::XferSize.
void HAL_SAI_TxCpltCallback | ( | SAI_HandleTypeDef * | hsai | ) |
Tx Transfer completed callback.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
None |
Definition at line 2152 of file stm32h7xx_hal_sai.c.
Referenced by HAL_SAI_Init(), HAL_SAI_UnRegisterCallback(), SAI_DMATxCplt(), SAI_Transmit_IT16Bit(), SAI_Transmit_IT32Bit(), and SAI_Transmit_IT8Bit().
void HAL_SAI_TxHalfCpltCallback | ( | SAI_HandleTypeDef * | hsai | ) |
Tx Transfer Half completed callback.
hsai | pointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module. |
None |
Definition at line 2168 of file stm32h7xx_hal_sai.c.
Referenced by HAL_SAI_Init(), HAL_SAI_UnRegisterCallback(), and SAI_DMATxHalfCplt().