39 #ifndef __STM32F4xx_HAL_I2S_H 40 #define __STM32F4xx_HAL_I2S_H 118 uint16_t *pTxBuffPtr;
120 __IO uint16_t TxXferSize;
122 __IO uint16_t TxXferCount;
124 uint16_t *pRxBuffPtr;
126 __IO uint16_t RxXferSize;
128 __IO uint16_t RxXferCount;
136 __IO HAL_I2S_StateTypeDef State;
138 __IO uint32_t ErrorCode;
154 #define HAL_I2S_ERROR_NONE ((uint32_t)0x00000000U) 155 #define HAL_I2S_ERROR_UDR ((uint32_t)0x00000001U) 156 #define HAL_I2S_ERROR_OVR ((uint32_t)0x00000002U) 157 #define HAL_I2SEX_ERROR_UDR ((uint32_t)0x00000004U) 158 #define HAL_I2SEX_ERROR_OVR ((uint32_t)0x00000008U) 159 #define HAL_I2S_ERROR_FRE ((uint32_t)0x00000010U) 160 #define HAL_I2S_ERROR_DMA ((uint32_t)0x00000020U) 168 #define I2S_MODE_SLAVE_TX ((uint32_t)0x00000000U) 169 #define I2S_MODE_SLAVE_RX ((uint32_t)0x00000100U) 170 #define I2S_MODE_MASTER_TX ((uint32_t)0x00000200U) 171 #define I2S_MODE_MASTER_RX ((uint32_t)0x00000300U) 179 #define I2S_STANDARD_PHILIPS ((uint32_t)0x00000000U) 180 #define I2S_STANDARD_MSB ((uint32_t)0x00000010U) 181 #define I2S_STANDARD_LSB ((uint32_t)0x00000020U) 182 #define I2S_STANDARD_PCM_SHORT ((uint32_t)0x00000030U) 183 #define I2S_STANDARD_PCM_LONG ((uint32_t)0x000000B0U) 191 #define I2S_DATAFORMAT_16B ((uint32_t)0x00000000U) 192 #define I2S_DATAFORMAT_16B_EXTENDED ((uint32_t)0x00000001U) 193 #define I2S_DATAFORMAT_24B ((uint32_t)0x00000003U) 194 #define I2S_DATAFORMAT_32B ((uint32_t)0x00000005U) 202 #define I2S_MCLKOUTPUT_ENABLE ((uint32_t)SPI_I2SPR_MCKOE) 203 #define I2S_MCLKOUTPUT_DISABLE ((uint32_t)0x00000000U) 211 #define I2S_AUDIOFREQ_192K ((uint32_t)192000U) 212 #define I2S_AUDIOFREQ_96K ((uint32_t)96000U) 213 #define I2S_AUDIOFREQ_48K ((uint32_t)48000U) 214 #define I2S_AUDIOFREQ_44K ((uint32_t)44100U) 215 #define I2S_AUDIOFREQ_32K ((uint32_t)32000U) 216 #define I2S_AUDIOFREQ_22K ((uint32_t)22050U) 217 #define I2S_AUDIOFREQ_16K ((uint32_t)16000U) 218 #define I2S_AUDIOFREQ_11K ((uint32_t)11025U) 219 #define I2S_AUDIOFREQ_8K ((uint32_t)8000U) 220 #define I2S_AUDIOFREQ_DEFAULT ((uint32_t)2U) 228 #define I2S_FULLDUPLEXMODE_DISABLE ((uint32_t)0x00000000U) 229 #define I2S_FULLDUPLEXMODE_ENABLE ((uint32_t)0x00000001U) 237 #define I2S_CPOL_LOW ((uint32_t)0x00000000U) 238 #define I2S_CPOL_HIGH ((uint32_t)SPI_I2SCFGR_CKPOL) 246 #define I2S_IT_TXE SPI_CR2_TXEIE 247 #define I2S_IT_RXNE SPI_CR2_RXNEIE 248 #define I2S_IT_ERR SPI_CR2_ERRIE 256 #define I2S_FLAG_TXE SPI_SR_TXE 257 #define I2S_FLAG_RXNE SPI_SR_RXNE 259 #define I2S_FLAG_UDR SPI_SR_UDR 260 #define I2S_FLAG_OVR SPI_SR_OVR 261 #define I2S_FLAG_FRE SPI_SR_FRE 263 #define I2S_FLAG_CHSIDE SPI_SR_CHSIDE 264 #define I2S_FLAG_BSY SPI_SR_BSY 282 #define __HAL_I2S_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_I2S_STATE_RESET) 288 #define __HAL_I2S_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->I2SCFGR |= SPI_I2SCFGR_I2SE) 289 #define __HAL_I2S_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->I2SCFGR &= ~SPI_I2SCFGR_I2SE) 300 #define __HAL_I2S_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR2 |= (__INTERRUPT__)) 301 #define __HAL_I2S_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR2 &= ~(__INTERRUPT__)) 313 #define __HAL_I2S_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CR2 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) 328 #define __HAL_I2S_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) 334 #define __HAL_I2S_CLEAR_OVRFLAG(__HANDLE__) \ 336 __IO uint32_t tmpreg = 0x00U; \ 337 tmpreg = (__HANDLE__)->Instance->DR; \ 338 tmpreg = (__HANDLE__)->Instance->SR; \ 346 #define __HAL_I2S_CLEAR_UDRFLAG(__HANDLE__) \ 348 __IO uint32_t tmpreg = 0x00U; \ 349 tmpreg = (__HANDLE__)->Instance->SR; \ 430 #define IS_I2S_MODE(MODE) (((MODE) == I2S_MODE_SLAVE_TX) || \ 431 ((MODE) == I2S_MODE_SLAVE_RX) || \ 432 ((MODE) == I2S_MODE_MASTER_TX) || \ 433 ((MODE) == I2S_MODE_MASTER_RX)) 435 #define IS_I2S_STANDARD(STANDARD) (((STANDARD) == I2S_STANDARD_PHILIPS) || \ 436 ((STANDARD) == I2S_STANDARD_MSB) || \ 437 ((STANDARD) == I2S_STANDARD_LSB) || \ 438 ((STANDARD) == I2S_STANDARD_PCM_SHORT) || \ 439 ((STANDARD) == I2S_STANDARD_PCM_LONG)) 441 #define IS_I2S_DATA_FORMAT(FORMAT) (((FORMAT) == I2S_DATAFORMAT_16B) || \ 442 ((FORMAT) == I2S_DATAFORMAT_16B_EXTENDED) || \ 443 ((FORMAT) == I2S_DATAFORMAT_24B) || \ 444 ((FORMAT) == I2S_DATAFORMAT_32B)) 446 #define IS_I2S_MCLK_OUTPUT(OUTPUT) (((OUTPUT) == I2S_MCLKOUTPUT_ENABLE) || \ 447 ((OUTPUT) == I2S_MCLKOUTPUT_DISABLE)) 449 #define IS_I2S_AUDIO_FREQ(FREQ) ((((FREQ) >= I2S_AUDIOFREQ_8K) && \ 450 ((FREQ) <= I2S_AUDIOFREQ_192K)) || \ 451 ((FREQ) == I2S_AUDIOFREQ_DEFAULT)) 453 #define IS_I2S_FULLDUPLEX_MODE(MODE) (((MODE) == I2S_FULLDUPLEXMODE_DISABLE) || \ 454 ((MODE) == I2S_FULLDUPLEXMODE_ENABLE)) 456 #define IS_I2S_CPOL(CPOL) (((CPOL) == I2S_CPOL_LOW) || \ 457 ((CPOL) == I2S_CPOL_HIGH)) Serial Peripheral Interface.
Definition: stm32f401xc.h:472
This file contains HAL common defines, enumeration, macros and structures definitions.
Definition: stm32f4xx_hal_i2s.h:99
I2S handle Structure definition.
Definition: stm32f4xx_hal_i2s.h:112
uint32_t AudioFreq
Definition: stm32f4xx_hal_i2s.h:79
uint32_t MCLKOutput
Definition: stm32f4xx_hal_i2s.h:76
uint32_t Mode
Definition: stm32f4xx_hal_i2s.h:67
Definition: stm32f4xx_hal_i2s.h:98
I2S Init structure definition.
Definition: stm32f4xx_hal_i2s.h:65
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
Definition: stm32f4xx_hal_i2s.h:102
#define __IO
Definition: core_cm0.h:213
uint32_t Standard
Definition: stm32f4xx_hal_i2s.h:70
Definition: stm32f4xx_hal_i2s.h:105
uint32_t ClockSource
Definition: stm32f4xx_hal_i2s.h:85
uint32_t DataFormat
Definition: stm32f4xx_hal_i2s.h:73
HAL_LockTypeDef
HAL Lock structures definition.
Definition: stm32f4xx_hal_def.h:68
HAL_I2S_StateTypeDef
HAL State structures definition.
Definition: stm32f4xx_hal_i2s.h:96
uint32_t FullDuplexMode
Definition: stm32f4xx_hal_i2s.h:88
Definition: stm32f4xx_hal_i2s.h:100
Header file of I2S HAL module.
DMA handle Structure definition.
Definition: stm32f4xx_hal_dma.h:157
Definition: stm32f4xx_hal_i2s.h:104
Definition: stm32f4xx_hal_i2s.h:101
Definition: stm32f4xx_hal_i2s.h:103
uint32_t CPOL
Definition: stm32f4xx_hal_i2s.h:82