39 #ifndef __STM32F7xx_HAL_I2S_H 40 #define __STM32F7xx_HAL_I2S_H 155 #define HAL_I2S_ERROR_NONE ((uint32_t)0x00000000U) 156 #define HAL_I2S_ERROR_TIMEOUT ((uint32_t)0x00000001U) 157 #define HAL_I2S_ERROR_OVR ((uint32_t)0x00000002U) 158 #define HAL_I2S_ERROR_UDR ((uint32_t)0x00000004U) 159 #define HAL_I2S_ERROR_DMA ((uint32_t)0x00000008U) 160 #define HAL_I2S_ERROR_UNKNOW ((uint32_t)0x00000010U) 168 #define I2S_CLOCK_EXTERNAL ((uint32_t)0x00000001U) 169 #define I2S_CLOCK_PLL ((uint32_t)0x00000002U) 177 #define I2S_MODE_SLAVE_TX ((uint32_t)0x00000000U) 178 #define I2S_MODE_SLAVE_RX ((uint32_t)0x00000100U) 179 #define I2S_MODE_MASTER_TX ((uint32_t)0x00000200U) 180 #define I2S_MODE_MASTER_RX ((uint32_t)0x00000300U) 188 #define I2S_STANDARD_PHILIPS ((uint32_t)0x00000000U) 189 #define I2S_STANDARD_MSB ((uint32_t)0x00000010U) 190 #define I2S_STANDARD_LSB ((uint32_t)0x00000020U) 191 #define I2S_STANDARD_PCM_SHORT ((uint32_t)0x00000030U) 192 #define I2S_STANDARD_PCM_LONG ((uint32_t)0x000000B0U) 200 #define I2S_DATAFORMAT_16B ((uint32_t)0x00000000U) 201 #define I2S_DATAFORMAT_16B_EXTENDED ((uint32_t)0x00000001U) 202 #define I2S_DATAFORMAT_24B ((uint32_t)0x00000003U) 203 #define I2S_DATAFORMAT_32B ((uint32_t)0x00000005U) 211 #define I2S_MCLKOUTPUT_ENABLE ((uint32_t)SPI_I2SPR_MCKOE) 212 #define I2S_MCLKOUTPUT_DISABLE ((uint32_t)0x00000000U) 220 #define I2S_AUDIOFREQ_192K ((uint32_t)192000U) 221 #define I2S_AUDIOFREQ_96K ((uint32_t)96000U) 222 #define I2S_AUDIOFREQ_48K ((uint32_t)48000U) 223 #define I2S_AUDIOFREQ_44K ((uint32_t)44100U) 224 #define I2S_AUDIOFREQ_32K ((uint32_t)32000U) 225 #define I2S_AUDIOFREQ_22K ((uint32_t)22050U) 226 #define I2S_AUDIOFREQ_16K ((uint32_t)16000U) 227 #define I2S_AUDIOFREQ_11K ((uint32_t)11025U) 228 #define I2S_AUDIOFREQ_8K ((uint32_t)8000U) 229 #define I2S_AUDIOFREQ_DEFAULT ((uint32_t)2U) 238 #define I2S_CPOL_LOW ((uint32_t)0x00000000U) 239 #define I2S_CPOL_HIGH ((uint32_t)SPI_I2SCFGR_CKPOL) 247 #define I2S_IT_TXE SPI_CR2_TXEIE 248 #define I2S_IT_RXNE SPI_CR2_RXNEIE 249 #define I2S_IT_ERR SPI_CR2_ERRIE 257 #define I2S_FLAG_TXE SPI_SR_TXE 258 #define I2S_FLAG_RXNE SPI_SR_RXNE 260 #define I2S_FLAG_UDR SPI_SR_UDR 261 #define I2S_FLAG_OVR SPI_SR_OVR 262 #define I2S_FLAG_FRE SPI_SR_FRE 264 #define I2S_FLAG_CHSIDE SPI_SR_CHSIDE 265 #define I2S_FLAG_BSY SPI_SR_BSY 283 #define __HAL_I2S_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_I2S_STATE_RESET) 289 #define __HAL_I2S_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->I2SCFGR |= SPI_I2SCFGR_I2SE) 290 #define __HAL_I2S_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->I2SCFGR &= ~SPI_I2SCFGR_I2SE) 301 #define __HAL_I2S_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR2 |= (__INTERRUPT__)) 302 #define __HAL_I2S_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR2 &= ~(__INTERRUPT__)) 314 #define __HAL_I2S_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CR2 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) 329 #define __HAL_I2S_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) 335 #define __HAL_I2S_CLEAR_OVRFLAG(__HANDLE__) \ 337 __IO uint32_t tmpreg; \ 338 tmpreg = (__HANDLE__)->Instance->DR; \ 339 tmpreg = (__HANDLE__)->Instance->SR; \ 347 #define __HAL_I2S_CLEAR_UDRFLAG(__HANDLE__) \ 349 __IO uint32_t tmpreg; \ 350 tmpreg = (__HANDLE__)->Instance->SR; \ 436 #define IS_I2S_CLOCKSOURCE(CLOCK) (((CLOCK) == I2S_CLOCK_EXTERNAL) || \ 437 ((CLOCK) == I2S_CLOCK_PLL)) 439 #define IS_I2S_MODE(MODE) (((MODE) == I2S_MODE_SLAVE_TX) || \ 440 ((MODE) == I2S_MODE_SLAVE_RX) || \ 441 ((MODE) == I2S_MODE_MASTER_TX)|| \ 442 ((MODE) == I2S_MODE_MASTER_RX)) 444 #define IS_I2S_STANDARD(STANDARD) (((STANDARD) == I2S_STANDARD_PHILIPS) || \ 445 ((STANDARD) == I2S_STANDARD_MSB) || \ 446 ((STANDARD) == I2S_STANDARD_LSB) || \ 447 ((STANDARD) == I2S_STANDARD_PCM_SHORT) || \ 448 ((STANDARD) == I2S_STANDARD_PCM_LONG)) 450 #define IS_I2S_DATA_FORMAT(FORMAT) (((FORMAT) == I2S_DATAFORMAT_16B) || \ 451 ((FORMAT) == I2S_DATAFORMAT_16B_EXTENDED) || \ 452 ((FORMAT) == I2S_DATAFORMAT_24B) || \ 453 ((FORMAT) == I2S_DATAFORMAT_32B)) 455 #define IS_I2S_MCLK_OUTPUT(OUTPUT) (((OUTPUT) == I2S_MCLKOUTPUT_ENABLE) || \ 456 ((OUTPUT) == I2S_MCLKOUTPUT_DISABLE)) 458 #define IS_I2S_AUDIO_FREQ(FREQ) ((((FREQ) >= I2S_AUDIOFREQ_8K) && \ 459 ((FREQ) <= I2S_AUDIOFREQ_192K)) || \ 460 ((FREQ) == I2S_AUDIOFREQ_DEFAULT)) 462 #define IS_I2S_CPOL(CPOL) (((CPOL) == I2S_CPOL_LOW) || \ 463 ((CPOL) == I2S_CPOL_HIGH))
HAL_StatusTypeDef HAL_I2S_DMAPause(I2S_HandleTypeDef *hi2s)
Serial Peripheral Interface.
__IO HAL_I2S_StateTypeDef State
void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s)
I2S handle Structure definition.
void HAL_I2S_IRQHandler(I2S_HandleTypeDef *hi2s)
HAL_LockTypeDef
HAL Lock structures definition.
HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout)
HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
void HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s)
I2S Init structure definition.
void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s)
void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s)
__IO uint16_t RxXferCount
void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s)
HAL_StatusTypeDef HAL_I2S_DeInit(I2S_HandleTypeDef *hi2s)
HAL_I2S_StateTypeDef HAL_I2S_GetState(I2S_HandleTypeDef *hi2s)
HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_I2S_DMAResume(I2S_HandleTypeDef *hi2s)
__IO uint16_t TxXferCount
void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s)
HAL_StatusTypeDef HAL_I2S_Receive(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout)
HAL_I2S_StateTypeDef
HAL State structures definition.
HAL_StatusTypeDef HAL_I2S_DMAStop(I2S_HandleTypeDef *hi2s)
DMA handle Structure definition.
HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
This file contains HAL common defines, enumeration, macros and structures definitions.
DMA_HandleTypeDef * hdmatx
uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s)
__IO HAL_LockTypeDef Lock
HAL_StatusTypeDef
HAL Status structures definition.
DMA_HandleTypeDef * hdmarx
HAL_StatusTypeDef HAL_I2S_Init(I2S_HandleTypeDef *hi2s)
void HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s)