STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
IO operation functions

Data transfers functions. More...

Collaboration diagram for IO operation functions:

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_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_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_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.
 
void HAL_SAI_TxHalfCpltCallback (SAI_HandleTypeDef *hsai)
 Tx Transfer Half completed callback.
 
void HAL_SAI_TxCpltCallback (SAI_HandleTypeDef *hsai)
 Tx Transfer completed callback.
 
void HAL_SAI_RxHalfCpltCallback (SAI_HandleTypeDef *hsai)
 Rx Transfer half completed callback.
 
void HAL_SAI_RxCpltCallback (SAI_HandleTypeDef *hsai)
 Rx Transfer completed callback.
 
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_SAI_Transmit()

HAL_StatusTypeDef HAL_SAI_Transmit ( SAI_HandleTypeDef * hsai,
uint8_t * pData,
uint16_t Size,
uint32_t Timeout )

#include <stm32f4xx_hal_sai.h>

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 875 of file stm32f4xx_hal_sai.c.

References __HAL_LOCK, __HAL_SAI_ENABLE, __HAL_UNLOCK, SAI_InitTypeDef::CompandingMode, SAI_InitTypeDef::DataSize, __SAI_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_GetTick(), HAL_MAX_DELAY, HAL_OK, 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_SAI_Receive()

HAL_StatusTypeDef HAL_SAI_Receive ( SAI_HandleTypeDef * hsai,
uint8_t * pData,
uint16_t Size,
uint32_t Timeout )

#include <stm32f4xx_hal_sai.h>

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 975 of file stm32f4xx_hal_sai.c.

References __HAL_LOCK, __HAL_SAI_ENABLE, __HAL_UNLOCK, SAI_InitTypeDef::CompandingMode, SAI_InitTypeDef::DataSize, __SAI_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_GetTick(), HAL_MAX_DELAY, HAL_OK, 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_SAI_Transmit_IT()

HAL_StatusTypeDef HAL_SAI_Transmit_IT ( SAI_HandleTypeDef * hsai,
uint8_t * pData,
uint16_t Size )

◆ HAL_SAI_Receive_IT()

HAL_StatusTypeDef HAL_SAI_Receive_IT ( SAI_HandleTypeDef * hsai,
uint8_t * pData,
uint16_t Size )

◆ HAL_SAI_Transmit_DMA()

◆ HAL_SAI_Receive_DMA()

◆ HAL_SAI_DMAPause()

HAL_StatusTypeDef HAL_SAI_DMAPause ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1192 of file stm32f4xx_hal_sai.c.

References __HAL_LOCK, __HAL_UNLOCK, HAL_OK, and __SAI_HandleTypeDef::Instance.

◆ HAL_SAI_DMAResume()

HAL_StatusTypeDef HAL_SAI_DMAResume ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1212 of file stm32f4xx_hal_sai.c.

References __HAL_LOCK, __HAL_SAI_ENABLE, __HAL_UNLOCK, HAL_OK, and __SAI_HandleTypeDef::Instance.

◆ HAL_SAI_DMAStop()

HAL_StatusTypeDef HAL_SAI_DMAStop ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1239 of file stm32f4xx_hal_sai.c.

References __HAL_LOCK, __HAL_UNLOCK, __DMA_HandleTypeDef::ErrorCode, __SAI_HandleTypeDef::ErrorCode, HAL_DMA_Abort(), HAL_DMA_ERROR_NO_XFER, HAL_ERROR, HAL_OK, 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_SAI_Abort()

HAL_StatusTypeDef HAL_SAI_Abort ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1298 of file stm32f4xx_hal_sai.c.

References __HAL_LOCK, __HAL_UNLOCK, __DMA_HandleTypeDef::ErrorCode, __SAI_HandleTypeDef::ErrorCode, HAL_DMA_Abort(), HAL_DMA_ERROR_NO_XFER, HAL_ERROR, HAL_OK, 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_SAI_EnableTxMuteMode()

HAL_StatusTypeDef HAL_SAI_EnableTxMuteMode ( SAI_HandleTypeDef * hsai,
uint16_t val )

#include <stm32f4xx_hal_sai.h>

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 1522 of file stm32f4xx_hal_sai.c.

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

◆ HAL_SAI_DisableTxMuteMode()

HAL_StatusTypeDef HAL_SAI_DisableTxMuteMode ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1541 of file stm32f4xx_hal_sai.c.

References HAL_ERROR, HAL_OK, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::Instance, and __SAI_HandleTypeDef::State.

◆ HAL_SAI_EnableRxMuteMode()

HAL_StatusTypeDef HAL_SAI_EnableRxMuteMode ( SAI_HandleTypeDef * hsai,
SAIcallback callback,
uint16_t counter )

#include <stm32f4xx_hal_sai.h>

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 1559 of file stm32f4xx_hal_sai.c.

References __HAL_SAI_ENABLE_IT, assert_param, HAL_ERROR, HAL_OK, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::Instance, IS_SAI_BLOCK_MUTE_COUNTER, __SAI_HandleTypeDef::mutecallback, SAI_IT_MUTEDET, and __SAI_HandleTypeDef::State.

◆ HAL_SAI_DisableRxMuteMode()

HAL_StatusTypeDef HAL_SAI_DisableRxMuteMode ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1582 of file stm32f4xx_hal_sai.c.

References __HAL_SAI_DISABLE_IT, HAL_ERROR, HAL_OK, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::mutecallback, SAI_IT_MUTEDET, and __SAI_HandleTypeDef::State.

◆ HAL_SAI_IRQHandler()

◆ HAL_SAI_TxHalfCpltCallback()

__weak void HAL_SAI_TxHalfCpltCallback ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1829 of file stm32f4xx_hal_sai.c.

References UNUSED.

Referenced by HAL_SAI_Init(), and SAI_DMATxHalfCplt().

◆ HAL_SAI_TxCpltCallback()

__weak void HAL_SAI_TxCpltCallback ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1813 of file stm32f4xx_hal_sai.c.

References UNUSED.

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

◆ HAL_SAI_RxHalfCpltCallback()

__weak void HAL_SAI_RxHalfCpltCallback ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1861 of file stm32f4xx_hal_sai.c.

References UNUSED.

Referenced by HAL_SAI_Init(), and SAI_DMARxHalfCplt().

◆ HAL_SAI_RxCpltCallback()

__weak void HAL_SAI_RxCpltCallback ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

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 1845 of file stm32f4xx_hal_sai.c.

References UNUSED.

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

◆ HAL_SAI_ErrorCallback()

__weak void HAL_SAI_ErrorCallback ( SAI_HandleTypeDef * hsai)

#include <stm32f4xx_hal_sai.h>

SAI error callback.

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

Definition at line 1877 of file stm32f4xx_hal_sai.c.

References UNUSED.

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