STM32F439xx HAL User Manual
Functions
IO operation functions
SAI Exported Functions

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.

Detailed Description

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()


Function Documentation

HAL_StatusTypeDef HAL_SAI_Abort ( SAI_HandleTypeDef hsai)

Abort the current transfer and disable the SAI.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
HALstatus

Definition at line 1033 of file stm32f4xx_hal_sai.c.

References HAL_DMA_Abort(), 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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
HALstatus

Definition at line 1285 of file stm32f4xx_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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
HALstatus

Definition at line 1244 of file stm32f4xx_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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
HALstatus

Definition at line 941 of file stm32f4xx_hal_sai.c.

References __SAI_HandleTypeDef::Instance.

HAL_StatusTypeDef HAL_SAI_DMAResume ( SAI_HandleTypeDef hsai)

Resume the audio stream playing from the Media.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
HALstatus

Definition at line 961 of file stm32f4xx_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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
HALstatus

Definition at line 988 of file stm32f4xx_hal_sai.c.

References HAL_DMA_Abort(), 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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
callbackfunction called when the mute is detected.
counternumber a data before mute detection max 63.
Return values:
HALstatus

Definition at line 1262 of file stm32f4xx_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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
valvalue sent during the mute SAI Block Mute Value
Return values:
HALstatus

Definition at line 1225 of file stm32f4xx_hal_sai.c.

References assert_param, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::Instance, IS_SAI_BLOCK_MUTE_VALUE, and __SAI_HandleTypeDef::State.

SAI error callback.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
None

Definition at line 1551 of file stm32f4xx_hal_sai.c.

Referenced by HAL_SAI_IRQHandler(), SAI_DMAAbort(), and SAI_DMAError().

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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
pDataPointer to data buffer
SizeAmount of data to be received
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 724 of file stm32f4xx_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 
)
HAL_StatusTypeDef HAL_SAI_Receive_IT ( SAI_HandleTypeDef hsai,
uint8_t *  pData,
uint16_t  Size 
)

Rx Transfer completed callback.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
None

Definition at line 1519 of file stm32f4xx_hal_sai.c.

Referenced by SAI_DMARxCplt(), SAI_Receive_IT16Bit(), SAI_Receive_IT32Bit(), and SAI_Receive_IT8Bit().

Rx Transfer half completed callback.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
None

Definition at line 1535 of file stm32f4xx_hal_sai.c.

Referenced by 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.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
pDataPointer to data buffer
SizeAmount of data to be sent
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 624 of file stm32f4xx_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 
)
HAL_StatusTypeDef HAL_SAI_Transmit_IT ( SAI_HandleTypeDef hsai,
uint8_t *  pData,
uint16_t  Size 
)

Tx Transfer completed callback.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
None

Definition at line 1487 of file stm32f4xx_hal_sai.c.

Referenced by SAI_DMATxCplt(), SAI_Transmit_IT16Bit(), SAI_Transmit_IT32Bit(), and SAI_Transmit_IT8Bit().

Tx Transfer Half completed callback.

Parameters:
hsaipointer to a SAI_HandleTypeDef structure that contains the configuration information for SAI module.
Return values:
None

Definition at line 1503 of file stm32f4xx_hal_sai.c.

Referenced by SAI_DMATxHalfCplt().