STM32F479xx HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32f4xx_hal_i2s.h File Reference

Header file of I2S HAL module. More...

#include "stm32f4xx_hal_def.h"
#include "stm32f4xx_hal_i2s_ex.h"

Go to the source code of this file.

Data Structures

struct  I2S_InitTypeDef
 I2S Init structure definition. More...
struct  __I2S_HandleTypeDef
 I2S handle Structure definition. More...

Defines

#define HAL_I2S_ERROR_NONE   (0x00000000U)
#define HAL_I2S_ERROR_TIMEOUT   (0x00000001U)
#define HAL_I2S_ERROR_OVR   (0x00000002U)
#define HAL_I2S_ERROR_UDR   (0x00000004U)
#define HAL_I2S_ERROR_DMA   (0x00000008U)
#define HAL_I2S_ERROR_PRESCALER   (0x00000010U)
#define HAL_I2S_ERROR_INVALID_CALLBACK   (0x00000020U)
#define HAL_I2S_ERROR_BUSY_LINE_RX   (0x00000040U)
#define I2S_MODE_SLAVE_TX   (0x00000000U)
#define I2S_MODE_SLAVE_RX   (SPI_I2SCFGR_I2SCFG_0)
#define I2S_MODE_MASTER_TX   (SPI_I2SCFGR_I2SCFG_1)
#define I2S_MODE_MASTER_RX   ((SPI_I2SCFGR_I2SCFG_0 | SPI_I2SCFGR_I2SCFG_1))
#define I2S_STANDARD_PHILIPS   (0x00000000U)
#define I2S_STANDARD_MSB   (SPI_I2SCFGR_I2SSTD_0)
#define I2S_STANDARD_LSB   (SPI_I2SCFGR_I2SSTD_1)
#define I2S_STANDARD_PCM_SHORT   ((SPI_I2SCFGR_I2SSTD_0 | SPI_I2SCFGR_I2SSTD_1))
#define I2S_STANDARD_PCM_LONG   ((SPI_I2SCFGR_I2SSTD_0 | SPI_I2SCFGR_I2SSTD_1 | SPI_I2SCFGR_PCMSYNC))
#define I2S_DATAFORMAT_16B   (0x00000000U)
#define I2S_DATAFORMAT_16B_EXTENDED   (SPI_I2SCFGR_CHLEN)
#define I2S_DATAFORMAT_24B   ((SPI_I2SCFGR_CHLEN | SPI_I2SCFGR_DATLEN_0))
#define I2S_DATAFORMAT_32B   ((SPI_I2SCFGR_CHLEN | SPI_I2SCFGR_DATLEN_1))
#define I2S_MCLKOUTPUT_ENABLE   (SPI_I2SPR_MCKOE)
#define I2S_MCLKOUTPUT_DISABLE   (0x00000000U)
#define I2S_AUDIOFREQ_192K   (192000U)
#define I2S_AUDIOFREQ_96K   (96000U)
#define I2S_AUDIOFREQ_48K   (48000U)
#define I2S_AUDIOFREQ_44K   (44100U)
#define I2S_AUDIOFREQ_32K   (32000U)
#define I2S_AUDIOFREQ_22K   (22050U)
#define I2S_AUDIOFREQ_16K   (16000U)
#define I2S_AUDIOFREQ_11K   (11025U)
#define I2S_AUDIOFREQ_8K   (8000U)
#define I2S_AUDIOFREQ_DEFAULT   (2U)
#define I2S_FULLDUPLEXMODE_DISABLE   (0x00000000U)
#define I2S_FULLDUPLEXMODE_ENABLE   (0x00000001U)
#define I2S_CPOL_LOW   (0x00000000U)
#define I2S_CPOL_HIGH   (SPI_I2SCFGR_CKPOL)
#define I2S_IT_TXE   SPI_CR2_TXEIE
#define I2S_IT_RXNE   SPI_CR2_RXNEIE
#define I2S_IT_ERR   SPI_CR2_ERRIE
#define I2S_FLAG_TXE   SPI_SR_TXE
#define I2S_FLAG_RXNE   SPI_SR_RXNE
#define I2S_FLAG_UDR   SPI_SR_UDR
#define I2S_FLAG_OVR   SPI_SR_OVR
#define I2S_FLAG_FRE   SPI_SR_FRE
#define I2S_FLAG_CHSIDE   SPI_SR_CHSIDE
#define I2S_FLAG_BSY   SPI_SR_BSY
#define I2S_FLAG_MASK
#define I2S_CLOCK_PLL   (0x00000000U)
#define I2S_CLOCK_EXTERNAL   (0x00000001U)
#define __HAL_I2S_RESET_HANDLE_STATE(__HANDLE__)
 Reset I2S handle state.
#define __HAL_I2S_ENABLE(__HANDLE__)   (SET_BIT((__HANDLE__)->Instance->I2SCFGR, SPI_I2SCFGR_I2SE))
 Enable the specified SPI peripheral (in I2S mode).
#define __HAL_I2S_DISABLE(__HANDLE__)   (CLEAR_BIT((__HANDLE__)->Instance->I2SCFGR, SPI_I2SCFGR_I2SE))
 Disable the specified SPI peripheral (in I2S mode).
#define __HAL_I2S_ENABLE_IT(__HANDLE__, __INTERRUPT__)   (SET_BIT((__HANDLE__)->Instance->CR2,(__INTERRUPT__)))
 Enable the specified I2S interrupts.
#define __HAL_I2S_DISABLE_IT(__HANDLE__, __INTERRUPT__)   (CLEAR_BIT((__HANDLE__)->Instance->CR2,(__INTERRUPT__)))
 Disable the specified I2S interrupts.
#define __HAL_I2S_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
 Checks if the specified I2S interrupt source is enabled or disabled.
#define __HAL_I2S_GET_FLAG(__HANDLE__, __FLAG__)   ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__))
 Checks whether the specified I2S flag is set or not.
#define __HAL_I2S_CLEAR_OVRFLAG(__HANDLE__)
 Clears the I2S OVR pending flag.
#define __HAL_I2S_CLEAR_UDRFLAG(__HANDLE__)
 Clears the I2S UDR pending flag.
#define __HAL_I2S_FLUSH_RX_DR(__HANDLE__)
 Flush the I2S DR Register.
#define I2S_CHECK_FLAG(__SR__, __FLAG__)
 Check whether the specified SPI flag is set or not.
#define I2S_CHECK_IT_SOURCE(__CR2__, __INTERRUPT__)
 Check whether the specified SPI Interrupt is set or not.
#define IS_I2S_MODE(__MODE__)
 Checks if I2S Mode parameter is in allowed range.
#define IS_I2S_STANDARD(__STANDARD__)
#define IS_I2S_DATA_FORMAT(__FORMAT__)
#define IS_I2S_MCLK_OUTPUT(__OUTPUT__)
#define IS_I2S_AUDIO_FREQ(__FREQ__)
#define IS_I2S_FULLDUPLEX_MODE(MODE)
#define IS_I2S_CPOL(__CPOL__)
 Checks if I2S Serial clock steady state parameter is in allowed range.
#define IS_I2S_CLOCKSOURCE(CLOCK)

Typedefs

typedef struct __I2S_HandleTypeDef I2S_HandleTypeDef
 I2S handle Structure definition.
typedef void(* pI2S_CallbackTypeDef )(I2S_HandleTypeDef *hi2s)
 HAL I2S Callback pointer definition.

Enumerations

enum  HAL_I2S_StateTypeDef {
  HAL_I2S_STATE_RESET = 0x00U, HAL_I2S_STATE_READY = 0x01U, HAL_I2S_STATE_BUSY = 0x02U, HAL_I2S_STATE_BUSY_TX = 0x03U,
  HAL_I2S_STATE_BUSY_RX = 0x04U, HAL_I2S_STATE_BUSY_TX_RX = 0x05U, HAL_I2S_STATE_TIMEOUT = 0x06U, HAL_I2S_STATE_ERROR = 0x07U
}
 HAL State structures definition. More...
enum  HAL_I2S_CallbackIDTypeDef {
  HAL_I2S_TX_COMPLETE_CB_ID = 0x00U, HAL_I2S_RX_COMPLETE_CB_ID = 0x01U, HAL_I2S_TX_RX_COMPLETE_CB_ID = 0x02U, HAL_I2S_TX_HALF_COMPLETE_CB_ID = 0x03U,
  HAL_I2S_RX_HALF_COMPLETE_CB_ID = 0x04U, HAL_I2S_TX_RX_HALF_COMPLETE_CB_ID = 0x05U, HAL_I2S_ERROR_CB_ID = 0x06U, HAL_I2S_MSPINIT_CB_ID = 0x07U,
  HAL_I2S_MSPDEINIT_CB_ID = 0x08U
}
 HAL I2S Callback ID enumeration definition. More...

Functions

HAL_StatusTypeDef HAL_I2S_Init (I2S_HandleTypeDef *hi2s)
 Initializes the I2S according to the specified parameters in the I2S_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_I2S_DeInit (I2S_HandleTypeDef *hi2s)
 DeInitializes the I2S peripheral.
__weak void HAL_I2S_MspInit (I2S_HandleTypeDef *hi2s)
 I2S MSP Init.
__weak void HAL_I2S_MspDeInit (I2S_HandleTypeDef *hi2s)
 I2S MSP DeInit.
HAL_StatusTypeDef HAL_I2S_RegisterCallback (I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef CallbackID, pI2S_CallbackTypeDef pCallback)
 Register a User I2S Callback To be used instead of the weak predefined callback.
HAL_StatusTypeDef HAL_I2S_UnRegisterCallback (I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef CallbackID)
 Unregister an I2S Callback I2S callback is redirected to the weak predefined callback.
HAL_StatusTypeDef HAL_I2S_Transmit (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout)
 Transmit an amount of data in blocking mode.
HAL_StatusTypeDef HAL_I2S_Receive (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout)
 Receive an amount of data in blocking mode.
HAL_StatusTypeDef HAL_I2S_Transmit_IT (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
 Transmit an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2S_Receive_IT (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
 Receive an amount of data in non-blocking mode with Interrupt.
void HAL_I2S_IRQHandler (I2S_HandleTypeDef *hi2s)
 This function handles I2S interrupt request.
HAL_StatusTypeDef HAL_I2S_Transmit_DMA (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
 Transmit an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2S_Receive_DMA (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
 Receive an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2S_DMAPause (I2S_HandleTypeDef *hi2s)
 Pauses the audio DMA Stream/Channel playing from the Media.
HAL_StatusTypeDef HAL_I2S_DMAResume (I2S_HandleTypeDef *hi2s)
 Resumes the audio DMA Stream/Channel playing from the Media.
HAL_StatusTypeDef HAL_I2S_DMAStop (I2S_HandleTypeDef *hi2s)
 Stops the audio DMA Stream/Channel playing from the Media.
__weak void HAL_I2S_TxHalfCpltCallback (I2S_HandleTypeDef *hi2s)
 Tx Transfer Half completed callbacks.
__weak void HAL_I2S_TxCpltCallback (I2S_HandleTypeDef *hi2s)
 Tx Transfer completed callbacks.
__weak void HAL_I2S_RxHalfCpltCallback (I2S_HandleTypeDef *hi2s)
 Rx Transfer half completed callbacks.
__weak void HAL_I2S_RxCpltCallback (I2S_HandleTypeDef *hi2s)
 Rx Transfer completed callbacks.
__weak void HAL_I2S_ErrorCallback (I2S_HandleTypeDef *hi2s)
 I2S error callbacks.
HAL_I2S_StateTypeDef HAL_I2S_GetState (I2S_HandleTypeDef *hi2s)
 Return the I2S state.
uint32_t HAL_I2S_GetError (I2S_HandleTypeDef *hi2s)
 Return the I2S error code.

Detailed Description

Header file of I2S HAL module.

Author:
MCD Application Team
Attention:

© Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32f4xx_hal_i2s.h.