151 #ifdef HAL_I2S_MODULE_ENABLED 218 uint16_t tmpreg = 0, i2sdiv = 2, i2sodd = 0, packetlength = 1;
219 uint32_t tmp = 0, i2sclk = 0;
260 i2sodd = (uint16_t)0;
261 i2sdiv = (uint16_t)2;
290 i2sclk = I2S_GetClockFreq(hi2s);
297 tmp = (uint16_t)(((((i2sclk / 256) * 10) / hi2s->
Init.
AudioFreq)) + 5);
302 tmp = (uint16_t)(((((i2sclk / (32 * packetlength)) *10 ) / hi2s->
Init.
AudioFreq)) + 5);
309 i2sodd = (uint16_t)(tmp & (uint16_t)0x0001);
312 i2sdiv = (uint16_t)((tmp - i2sodd) / 2);
315 i2sodd = (uint16_t) (i2sodd << 8);
319 if((i2sdiv < 2) || (i2sdiv > 0xFF))
469 if((pData ==
NULL ) || (Size == 0))
576 if((pData ==
NULL ) || (Size == 0))
678 if((pData ==
NULL) || (Size == 0))
743 if((pData ==
NULL) || (Size == 0))
805 if((pData ==
NULL) || (Size == 0))
841 tmp = (uint32_t*)&pData;
883 if((pData ==
NULL) || (Size == 0))
926 tmp = (uint32_t*)&pData;
1082 I2S_Receive_IT(hi2s);
1104 I2S_Transmit_IT(hi2s);
1144 uint32_t State, uint32_t Timeout)
1146 uint32_t tickstart = 0;
1158 if((Timeout == 0)||((
HAL_GetTick() - tickstart ) > Timeout))
1177 if((Timeout == 0)||((
HAL_GetTick() - tickstart ) > Timeout))
1339 uint32_t tmpreg = 0;
1341 uint32_t vcoinput = 0;
1343 uint32_t i2sclocksource = 0;
1384 return i2sclocksource;
#define CLEAR_BIT(REG, BIT)
HAL_StatusTypeDef HAL_I2S_DMAPause(I2S_HandleTypeDef *hi2s)
#define HAL_I2S_ERROR_NONE
__IO HAL_I2S_StateTypeDef State
#define I2S_CLOCK_EXTERNAL
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
#define assert_param(expr)
Include module's header file.
#define HSI_VALUE
Internal High Speed oscillator (HSI) value. This value is used by the RCC HAL module to compute the s...
#define __HAL_I2S_CLEAR_OVRFLAG(__HANDLE__)
Clears the I2S OVR pending flag.
#define RCC_PLLSOURCE_HSI
void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s)
I2S handle Structure definition.
void HAL_I2S_IRQHandler(I2S_HandleTypeDef *hi2s)
#define __HAL_UNLOCK(__HANDLE__)
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
#define __HAL_I2S_DISABLE(__HANDLE__)
#define IS_I2S_AUDIO_FREQ(FREQ)
#define HAL_I2S_ERROR_OVR
HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout)
#define __HAL_I2S_DISABLE_IT(__HANDLE__, __INTERRUPT__)
#define SPI_I2SCFGR_I2SCFG
#define __HAL_I2S_GET_FLAG(__HANDLE__, __FLAG__)
Checks whether the specified I2S flag is set or not.
#define HAL_I2S_ERROR_UDR
#define I2S_MODE_MASTER_RX
HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
#define HSE_VALUE
Adjust the value of External High Speed oscillator (HSE) used in your application. This value is used by the RCC HAL module to compute the system frequency (when HSE is used as system clock source, directly or through the PLL).
#define __HAL_I2S_ENABLE(__HANDLE__)
Enable or disable the specified SPI peripheral (in I2S mode).
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
#define __HAL_LOCK(__HANDLE__)
#define EXTERNAL_CLOCK_VALUE
External clock source for I2S peripheral This value is used by the I2S HAL module to compute the I2S ...
void HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s)
#define __HAL_I2S_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
Checks if the specified I2S interrupt source is enabled or disabled.
void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s)
void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s)
#define I2S_MODE_SLAVE_RX
#define RCC_PLLCFGR_PLLSRC
__IO uint16_t RxXferCount
#define RCC_PLLI2SCFGR_PLLI2SN
This file contains all the functions prototypes for the HAL module driver.
#define HAL_IS_BIT_CLR(REG, BIT)
DMA_Stream_TypeDef * Instance
#define SPI_I2SCFGR_DATLEN
void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s)
HAL_StatusTypeDef HAL_I2S_DeInit(I2S_HandleTypeDef *hi2s)
#define IS_I2S_STANDARD(STANDARD)
#define IS_I2S_CPOL(CPOL)
HAL_I2S_StateTypeDef HAL_I2S_GetState(I2S_HandleTypeDef *hi2s)
HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
void(* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma)
#define IS_I2S_DATA_FORMAT(FORMAT)
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.
#define IS_I2S_ALL_INSTANCE(__INSTANCE__)
#define SET_BIT(REG, BIT)
#define I2S_AUDIOFREQ_DEFAULT
#define IS_I2S_MCLK_OUTPUT(OUTPUT)
HAL_StatusTypeDef HAL_I2S_DMAStop(I2S_HandleTypeDef *hi2s)
#define __HAL_DMA_DISABLE(__HANDLE__)
Disable the specified DMA Stream.
#define SPI_I2SCFGR_CKPOL
DMA handle Structure definition.
#define SPI_I2SCFGR_PCMSYNC
HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
DMA_HandleTypeDef * hdmatx
#define IS_I2S_CLOCKSOURCE(CLOCK)
uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s)
#define I2S_MCLKOUTPUT_ENABLE
#define __HAL_I2S_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable or disable the specified I2S interrupts.
#define IS_I2S_MODE(MODE)
__IO HAL_LockTypeDef Lock
#define I2S_MODE_SLAVE_TX
#define HAL_I2S_ERROR_DMA
HAL_StatusTypeDef
HAL Status structures definition.
#define SPI_I2SCFGR_CHLEN
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
#define I2S_MODE_MASTER_TX
#define HAL_I2S_ERROR_TIMEOUT
DMA_HandleTypeDef * hdmarx
#define SPI_I2SCFGR_I2SMOD
HAL_StatusTypeDef HAL_I2S_Init(I2S_HandleTypeDef *hi2s)
#define RCC_PLLI2SCFGR_PLLI2SR
void HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s)