stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32F4xx_HAL_I2S_H
22 #define STM32F4xx_HAL_I2S_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32f4xx_hal_def.h"
30 
39 /* Exported types ------------------------------------------------------------*/
47 typedef struct
48 {
49  uint32_t Mode;
52  uint32_t Standard;
55  uint32_t DataFormat;
58  uint32_t MCLKOutput;
61  uint32_t AudioFreq;
64  uint32_t CPOL;
67  uint32_t ClockSource;
69  uint32_t FullDuplexMode;
72 
76 typedef enum
77 {
87 
91 typedef struct __I2S_HandleTypeDef
92 {
97  uint16_t *pTxBuffPtr;
99  __IO uint16_t TxXferSize;
101  __IO uint16_t TxXferCount;
103  uint16_t *pRxBuffPtr;
105  __IO uint16_t RxXferSize;
107  __IO uint16_t RxXferCount;
113  void (*IrqHandlerISR)(struct __I2S_HandleTypeDef *hi2s);
123  __IO uint32_t ErrorCode;
126 #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1U)
127  void (* TxCpltCallback)(struct __I2S_HandleTypeDef *hi2s);
128  void (* RxCpltCallback)(struct __I2S_HandleTypeDef *hi2s);
129  void (* TxRxCpltCallback)(struct __I2S_HandleTypeDef *hi2s);
130  void (* TxHalfCpltCallback)(struct __I2S_HandleTypeDef *hi2s);
131  void (* RxHalfCpltCallback)(struct __I2S_HandleTypeDef *hi2s);
132  void (* TxRxHalfCpltCallback)(struct __I2S_HandleTypeDef *hi2s);
133  void (* ErrorCallback)(struct __I2S_HandleTypeDef *hi2s);
134  void (* MspInitCallback)(struct __I2S_HandleTypeDef *hi2s);
135  void (* MspDeInitCallback)(struct __I2S_HandleTypeDef *hi2s);
137 #endif /* USE_HAL_I2S_REGISTER_CALLBACKS */
139 
140 #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1U)
141 
144 typedef enum
145 {
146  HAL_I2S_TX_COMPLETE_CB_ID = 0x00U,
147  HAL_I2S_RX_COMPLETE_CB_ID = 0x01U,
148  HAL_I2S_TX_RX_COMPLETE_CB_ID = 0x02U,
149  HAL_I2S_TX_HALF_COMPLETE_CB_ID = 0x03U,
150  HAL_I2S_RX_HALF_COMPLETE_CB_ID = 0x04U,
151  HAL_I2S_TX_RX_HALF_COMPLETE_CB_ID = 0x05U,
152  HAL_I2S_ERROR_CB_ID = 0x06U,
153  HAL_I2S_MSPINIT_CB_ID = 0x07U,
154  HAL_I2S_MSPDEINIT_CB_ID = 0x08U
156 } HAL_I2S_CallbackIDTypeDef;
157 
161 typedef void (*pI2S_CallbackTypeDef)(I2S_HandleTypeDef *hi2s);
163 #endif /* USE_HAL_I2S_REGISTER_CALLBACKS */
164 
168 /* Exported constants --------------------------------------------------------*/
175 #define HAL_I2S_ERROR_NONE (0x00000000U)
176 #define HAL_I2S_ERROR_TIMEOUT (0x00000001U)
177 #define HAL_I2S_ERROR_OVR (0x00000002U)
178 #define HAL_I2S_ERROR_UDR (0x00000004U)
179 #define HAL_I2S_ERROR_DMA (0x00000008U)
180 #define HAL_I2S_ERROR_PRESCALER (0x00000010U)
181 #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1U)
182 #define HAL_I2S_ERROR_INVALID_CALLBACK (0x00000020U)
183 #endif /* USE_HAL_I2S_REGISTER_CALLBACKS */
184 #define HAL_I2S_ERROR_BUSY_LINE_RX (0x00000040U)
192 #define I2S_MODE_SLAVE_TX (0x00000000U)
193 #define I2S_MODE_SLAVE_RX (SPI_I2SCFGR_I2SCFG_0)
194 #define I2S_MODE_MASTER_TX (SPI_I2SCFGR_I2SCFG_1)
195 #define I2S_MODE_MASTER_RX ((SPI_I2SCFGR_I2SCFG_0 | SPI_I2SCFGR_I2SCFG_1))
196 
203 #define I2S_STANDARD_PHILIPS (0x00000000U)
204 #define I2S_STANDARD_MSB (SPI_I2SCFGR_I2SSTD_0)
205 #define I2S_STANDARD_LSB (SPI_I2SCFGR_I2SSTD_1)
206 #define I2S_STANDARD_PCM_SHORT ((SPI_I2SCFGR_I2SSTD_0 | SPI_I2SCFGR_I2SSTD_1))
207 #define I2S_STANDARD_PCM_LONG ((SPI_I2SCFGR_I2SSTD_0 | SPI_I2SCFGR_I2SSTD_1 | SPI_I2SCFGR_PCMSYNC))
208 
215 #define I2S_DATAFORMAT_16B (0x00000000U)
216 #define I2S_DATAFORMAT_16B_EXTENDED (SPI_I2SCFGR_CHLEN)
217 #define I2S_DATAFORMAT_24B ((SPI_I2SCFGR_CHLEN | SPI_I2SCFGR_DATLEN_0))
218 #define I2S_DATAFORMAT_32B ((SPI_I2SCFGR_CHLEN | SPI_I2SCFGR_DATLEN_1))
219 
226 #define I2S_MCLKOUTPUT_ENABLE (SPI_I2SPR_MCKOE)
227 #define I2S_MCLKOUTPUT_DISABLE (0x00000000U)
228 
235 #define I2S_AUDIOFREQ_192K (192000U)
236 #define I2S_AUDIOFREQ_96K (96000U)
237 #define I2S_AUDIOFREQ_48K (48000U)
238 #define I2S_AUDIOFREQ_44K (44100U)
239 #define I2S_AUDIOFREQ_32K (32000U)
240 #define I2S_AUDIOFREQ_22K (22050U)
241 #define I2S_AUDIOFREQ_16K (16000U)
242 #define I2S_AUDIOFREQ_11K (11025U)
243 #define I2S_AUDIOFREQ_8K (8000U)
244 #define I2S_AUDIOFREQ_DEFAULT (2U)
245 
252 #define I2S_FULLDUPLEXMODE_DISABLE (0x00000000U)
253 #define I2S_FULLDUPLEXMODE_ENABLE (0x00000001U)
254 
261 #define I2S_CPOL_LOW (0x00000000U)
262 #define I2S_CPOL_HIGH (SPI_I2SCFGR_CKPOL)
263 
270 #define I2S_IT_TXE SPI_CR2_TXEIE
271 #define I2S_IT_RXNE SPI_CR2_RXNEIE
272 #define I2S_IT_ERR SPI_CR2_ERRIE
273 
280 #define I2S_FLAG_TXE SPI_SR_TXE
281 #define I2S_FLAG_RXNE SPI_SR_RXNE
282 
283 #define I2S_FLAG_UDR SPI_SR_UDR
284 #define I2S_FLAG_OVR SPI_SR_OVR
285 #define I2S_FLAG_FRE SPI_SR_FRE
286 
287 #define I2S_FLAG_CHSIDE SPI_SR_CHSIDE
288 #define I2S_FLAG_BSY SPI_SR_BSY
289 
290 #define I2S_FLAG_MASK (SPI_SR_RXNE\
291  | SPI_SR_TXE | SPI_SR_UDR | SPI_SR_OVR | SPI_SR_FRE | SPI_SR_CHSIDE | SPI_SR_BSY)
292 
299 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) || defined(STM32F401xC) || defined(STM32F401xE) || defined(STM32F411xE) || defined(STM32F469xx) || defined(STM32F479xx)
300 #define I2S_CLOCK_PLL (0x00000000U)
301 #define I2S_CLOCK_EXTERNAL (0x00000001U)
302 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx ||
303  STM32F401xC || STM32F401xE || STM32F411xE || STM32F469xx || STM32F479xx */
304 
305 #if defined(STM32F446xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx)
306 #define I2S_CLOCK_PLL (0x00000000U)
307 #define I2S_CLOCK_EXTERNAL (0x00000001U)
308 #define I2S_CLOCK_PLLR (0x00000002U)
309 #define I2S_CLOCK_PLLSRC (0x00000003U)
310 #endif /* STM32F446xx || STM32F412Zx || STM32F412Vx || STM32F412Rx || STM32F412Cx || STM32F413xx || STM32F423xx */
311 
312 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx)
313 #define I2S_CLOCK_PLLSRC (0x00000000U)
314 #define I2S_CLOCK_EXTERNAL (0x00000001U)
315 #define I2S_CLOCK_PLLR (0x00000002U)
316 #endif /* STM32F410Tx || STM32F410Cx || STM32F410Rx */
317 
325 /* Exported macros -----------------------------------------------------------*/
334 #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1U)
335 #define __HAL_I2S_RESET_HANDLE_STATE(__HANDLE__) do{ \
336  (__HANDLE__)->State = HAL_I2S_STATE_RESET; \
337  (__HANDLE__)->MspInitCallback = NULL; \
338  (__HANDLE__)->MspDeInitCallback = NULL; \
339  } while(0)
340 #else
341 #define __HAL_I2S_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_I2S_STATE_RESET)
342 #endif /* USE_HAL_I2S_REGISTER_CALLBACKS */
343 
348 #define __HAL_I2S_ENABLE(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->I2SCFGR, SPI_I2SCFGR_I2SE))
349 
354 #define __HAL_I2S_DISABLE(__HANDLE__) (CLEAR_BIT((__HANDLE__)->Instance->I2SCFGR, SPI_I2SCFGR_I2SE))
355 
365 #define __HAL_I2S_ENABLE_IT(__HANDLE__, __INTERRUPT__) (SET_BIT((__HANDLE__)->Instance->CR2,(__INTERRUPT__)))
366 
376 #define __HAL_I2S_DISABLE_IT(__HANDLE__, __INTERRUPT__) (CLEAR_BIT((__HANDLE__)->Instance->CR2,(__INTERRUPT__)))
377 
388 #define __HAL_I2S_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CR2\
389  & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
390 
404 #define __HAL_I2S_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__))
405 
410 #define __HAL_I2S_CLEAR_OVRFLAG(__HANDLE__) do{ \
411  __IO uint32_t tmpreg_ovr = 0x00U; \
412  tmpreg_ovr = (__HANDLE__)->Instance->DR; \
413  tmpreg_ovr = (__HANDLE__)->Instance->SR; \
414  UNUSED(tmpreg_ovr); \
415  }while(0U)
416 
420 #define __HAL_I2S_CLEAR_UDRFLAG(__HANDLE__) do{\
421  __IO uint32_t tmpreg_udr = 0x00U;\
422  tmpreg_udr = ((__HANDLE__)->Instance->SR);\
423  UNUSED(tmpreg_udr); \
424  }while(0U)
425 
429 #define __HAL_I2S_FLUSH_RX_DR(__HANDLE__) do{\
430  __IO uint32_t tmpreg_dr = 0x00U;\
431  tmpreg_dr = ((__HANDLE__)->Instance->DR);\
432  UNUSED(tmpreg_dr); \
433  }while(0U)
434 
438 /* Include I2S Extension module */
439 #include "stm32f4xx_hal_i2s_ex.h"
440 
441 /* Exported functions --------------------------------------------------------*/
449 /* Initialization/de-initialization functions ********************************/
454 
455 /* Callbacks Register/UnRegister functions ***********************************/
456 #if (USE_HAL_I2S_REGISTER_CALLBACKS == 1U)
457 HAL_StatusTypeDef HAL_I2S_RegisterCallback(I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef CallbackID,
458  pI2S_CallbackTypeDef pCallback);
459 HAL_StatusTypeDef HAL_I2S_UnRegisterCallback(I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef CallbackID);
460 #endif /* USE_HAL_I2S_REGISTER_CALLBACKS */
461 
468 /* I/O operation functions ***************************************************/
469 /* Blocking mode: Polling */
470 HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout);
471 HAL_StatusTypeDef HAL_I2S_Receive(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout);
472 
473 /* Non-Blocking mode: Interrupt */
474 HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size);
475 HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size);
477 
478 /* Non-Blocking mode: DMA */
479 HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size);
480 HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size);
481 
485 
486 /* Callbacks used in non blocking modes (Interrupt and DMA) *******************/
499 /* Peripheral Control and State functions ************************************/
501 uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s);
510 /* Private types -------------------------------------------------------------*/
511 /* Private variables ---------------------------------------------------------*/
512 /* Private constants ---------------------------------------------------------*/
513 /* Private macros ------------------------------------------------------------*/
530 #define I2S_CHECK_FLAG(__SR__, __FLAG__) ((((__SR__)\
531  & ((__FLAG__) & I2S_FLAG_MASK)) == ((__FLAG__) & I2S_FLAG_MASK)) ? SET : RESET)
532 
542 #define I2S_CHECK_IT_SOURCE(__CR2__, __INTERRUPT__) ((((__CR2__)\
543  & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
544 
550 #define IS_I2S_MODE(__MODE__) (((__MODE__) == I2S_MODE_SLAVE_TX) || \
551  ((__MODE__) == I2S_MODE_SLAVE_RX) || \
552  ((__MODE__) == I2S_MODE_MASTER_TX) || \
553  ((__MODE__) == I2S_MODE_MASTER_RX))
554 
555 #define IS_I2S_STANDARD(__STANDARD__) (((__STANDARD__) == I2S_STANDARD_PHILIPS) || \
556  ((__STANDARD__) == I2S_STANDARD_MSB) || \
557  ((__STANDARD__) == I2S_STANDARD_LSB) || \
558  ((__STANDARD__) == I2S_STANDARD_PCM_SHORT) || \
559  ((__STANDARD__) == I2S_STANDARD_PCM_LONG))
560 
561 #define IS_I2S_DATA_FORMAT(__FORMAT__) (((__FORMAT__) == I2S_DATAFORMAT_16B) || \
562  ((__FORMAT__) == I2S_DATAFORMAT_16B_EXTENDED) || \
563  ((__FORMAT__) == I2S_DATAFORMAT_24B) || \
564  ((__FORMAT__) == I2S_DATAFORMAT_32B))
565 
566 #define IS_I2S_MCLK_OUTPUT(__OUTPUT__) (((__OUTPUT__) == I2S_MCLKOUTPUT_ENABLE) || \
567  ((__OUTPUT__) == I2S_MCLKOUTPUT_DISABLE))
568 
569 #define IS_I2S_AUDIO_FREQ(__FREQ__) ((((__FREQ__) >= I2S_AUDIOFREQ_8K) && \
570  ((__FREQ__) <= I2S_AUDIOFREQ_192K)) || \
571  ((__FREQ__) == I2S_AUDIOFREQ_DEFAULT))
572 
573 #define IS_I2S_FULLDUPLEX_MODE(MODE) (((MODE) == I2S_FULLDUPLEXMODE_DISABLE) || \
574  ((MODE) == I2S_FULLDUPLEXMODE_ENABLE))
575 
581 #define IS_I2S_CPOL(__CPOL__) (((__CPOL__) == I2S_CPOL_LOW) || \
582  ((__CPOL__) == I2S_CPOL_HIGH))
583 
584 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) || defined(STM32F401xC) || defined(STM32F401xE) || defined(STM32F411xE) || defined(STM32F469xx) || defined(STM32F479xx)
585 #define IS_I2S_CLOCKSOURCE(CLOCK) (((CLOCK) == I2S_CLOCK_EXTERNAL) ||\
586  ((CLOCK) == I2S_CLOCK_PLL))
587 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx ||
588  STM32F401xC || STM32F401xE || STM32F411xE || STM32F469xx || STM32F479xx */
589 
590 #if defined(STM32F446xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined (STM32F413xx) || defined(STM32F423xx)
591 #define IS_I2S_CLOCKSOURCE(CLOCK) (((CLOCK) == I2S_CLOCK_EXTERNAL) ||\
592  ((CLOCK) == I2S_CLOCK_PLL) ||\
593  ((CLOCK) == I2S_CLOCK_PLLSRC) ||\
594  ((CLOCK) == I2S_CLOCK_PLLR))
595 #endif /* STM32F446xx || STM32F412Zx || STM32F412Vx || STM32F412Rx || STM32F412Cx || STM32F413xx || STM32F423xx */
596 
597 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx)
598 #define IS_I2S_CLOCKSOURCE(CLOCK) (((CLOCK) == I2S_CLOCK_EXTERNAL) ||\
599  ((CLOCK) == I2S_CLOCK_PLLSRC) ||\
600  ((CLOCK) == I2S_CLOCK_PLLR))
601 #endif /* STM32F410Tx || STM32F410Cx || STM32F410Rx */
602 
614 #ifdef __cplusplus
615 }
616 #endif
617 
618 #endif /* STM32F4xx_HAL_I2S_H */
619 
620 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_I2S_MspDeInit
void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s)
SPI_TypeDef
Serial Peripheral Interface.
Definition: stm32f407xx.h:711
__IO
#define __IO
Definition: imxrt1050/imxrt1050-evkb/CMSIS/core_cm7.h:237
HAL_StatusTypeDef
HAL_StatusTypeDef
HAL Status structures definition
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:40
__DMA_HandleTypeDef
DMA handle Structure definition.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h:139
I2S_InitTypeDef::CPOL
uint32_t CPOL
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:64
HAL_I2S_STATE_BUSY_TX_RX
@ HAL_I2S_STATE_BUSY_TX_RX
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:83
HAL_I2S_Receive
HAL_StatusTypeDef HAL_I2S_Receive(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout)
I2S_InitTypeDef::MCLKOutput
uint32_t MCLKOutput
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:58
HAL_I2S_STATE_BUSY_TX
@ HAL_I2S_STATE_BUSY_TX
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:81
HAL_I2S_RxHalfCpltCallback
void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s)
Rx Half Transfer completed callbacks.
Definition: stm32f4_discovery_audio.c:854
I2S_HandleTypeDef
I2S handle Structure definition.
Definition: stm32f7xx_hal_i2s.h:91
I2S_InitTypeDef::Standard
uint32_t Standard
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:52
__I2S_HandleTypeDef::TxXferSize
__IO uint16_t TxXferSize
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:99
HAL_I2S_STATE_BUSY
@ HAL_I2S_STATE_BUSY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:80
HAL_I2S_STATE_TIMEOUT
@ HAL_I2S_STATE_TIMEOUT
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:84
HAL_LockTypeDef
HAL_LockTypeDef
HAL Lock structures definition
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h:51
HAL_I2S_Transmit
HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout)
HAL_I2S_DMAPause
HAL_StatusTypeDef HAL_I2S_DMAPause(I2S_HandleTypeDef *hi2s)
HAL_I2S_GetError
uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s)
I2S_HandleTypeDef
struct __I2S_HandleTypeDef I2S_HandleTypeDef
I2S handle Structure definition.
__I2S_HandleTypeDef
I2S handle Structure definition.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:91
HAL_I2S_STATE_BUSY_RX
@ HAL_I2S_STATE_BUSY_RX
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:82
HAL_I2S_Receive_DMA
HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
__I2S_HandleTypeDef::Instance
SPI_TypeDef * Instance
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:93
HAL_I2S_ErrorCallback
void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s)
I2S error callbacks.
Definition: stm32f4_discovery_audio.c:1110
HAL_I2S_DMAResume
HAL_StatusTypeDef HAL_I2S_DMAResume(I2S_HandleTypeDef *hi2s)
__I2S_HandleTypeDef::TxXferCount
__IO uint16_t TxXferCount
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:101
HAL_I2S_GetState
HAL_I2S_StateTypeDef HAL_I2S_GetState(I2S_HandleTypeDef *hi2s)
HAL_I2S_STATE_READY
@ HAL_I2S_STATE_READY
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:79
__I2S_HandleTypeDef::pTxBuffPtr
uint16_t * pTxBuffPtr
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:97
I2S_InitTypeDef::Mode
uint32_t Mode
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:49
stm32f4xx_hal_def.h
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_I2S_Transmit_IT
HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
HAL_I2S_Init
HAL_StatusTypeDef HAL_I2S_Init(I2S_HandleTypeDef *hi2s)
__I2S_HandleTypeDef::RxXferCount
__IO uint16_t RxXferCount
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:107
__I2S_HandleTypeDef::RxXferSize
__IO uint16_t RxXferSize
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:105
stm32f4xx_hal_i2s_ex.h
Header file of I2S HAL module.
__I2S_HandleTypeDef::IrqHandlerISR
void(* IrqHandlerISR)(struct __I2S_HandleTypeDef *hi2s)
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:113
__I2S_HandleTypeDef::pRxBuffPtr
uint16_t * pRxBuffPtr
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:103
__I2S_HandleTypeDef::Init
I2S_InitTypeDef Init
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:95
HAL_I2S_IRQHandler
void HAL_I2S_IRQHandler(I2S_HandleTypeDef *hi2s)
__I2S_HandleTypeDef::Lock
__IO HAL_LockTypeDef Lock
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:119
HAL_I2S_TxHalfCpltCallback
void HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s)
Tx Half Transfer completed callbacks.
Definition: stm32f4_discovery_audio.c:469
__I2S_HandleTypeDef::ErrorCode
__IO uint32_t ErrorCode
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:123
HAL_I2S_RxCpltCallback
void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s)
Rx Transfer completed callbacks.
Definition: stm32f4_discovery_audio.c:844
__I2S_HandleTypeDef::hdmatx
DMA_HandleTypeDef * hdmatx
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:115
I2S_InitTypeDef::DataFormat
uint32_t DataFormat
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:55
HAL_I2S_STATE_ERROR
@ HAL_I2S_STATE_ERROR
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:85
HAL_I2S_TxCpltCallback
void HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s)
Tx Transfer completed callbacks.
Definition: stm32f4_discovery_audio.c:456
HAL_I2S_STATE_RESET
@ HAL_I2S_STATE_RESET
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:78
__I2S_HandleTypeDef::State
__IO HAL_I2S_StateTypeDef State
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:121
HAL_I2S_DMAStop
HAL_StatusTypeDef HAL_I2S_DMAStop(I2S_HandleTypeDef *hi2s)
I2S_InitTypeDef
I2S Init structure definition.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:47
HAL_I2S_StateTypeDef
HAL_I2S_StateTypeDef
HAL State structures definition.
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:76
HAL_I2S_MspInit
void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s)
I2S_InitTypeDef::ClockSource
uint32_t ClockSource
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:67
__I2S_HandleTypeDef::hdmarx
DMA_HandleTypeDef * hdmarx
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:117
I2S_InitTypeDef::FullDuplexMode
uint32_t FullDuplexMode
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:69
HAL_I2S_DeInit
HAL_StatusTypeDef HAL_I2S_DeInit(I2S_HandleTypeDef *hi2s)
HAL_I2S_Transmit_DMA
HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
HAL_I2S_Receive_IT
HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size)
I2S_InitTypeDef::AudioFreq
uint32_t AudioFreq
Definition: stm32f407/stm32f407g-disc1/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2s.h:61


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:14:52