I2SEx IO operation functions.
More...
|
HAL_StatusTypeDef | HAL_I2SEx_TransmitReceive (I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size, uint32_t Timeout) |
| Full-Duplex Transmit/Receive data in blocking mode. More...
|
|
HAL_StatusTypeDef | HAL_I2SEx_TransmitReceive_IT (I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size) |
| Full-Duplex Transmit/Receive data in non-blocking mode using Interrupt. More...
|
|
HAL_StatusTypeDef | HAL_I2SEx_TransmitReceive_DMA (I2S_HandleTypeDef *hi2s, uint16_t *pTxData, uint16_t *pRxData, uint16_t Size) |
| Full-Duplex Transmit/Receive data in non-blocking mode using DMA. More...
|
|
void | HAL_I2SEx_FullDuplex_IRQHandler (I2S_HandleTypeDef *hi2s) |
| This function handles I2S/I2Sext interrupt requests in full-duplex mode. More...
|
|
void | HAL_I2SEx_TxRxHalfCpltCallback (I2S_HandleTypeDef *hi2s) |
| Tx and Rx Transfer half completed callback. More...
|
|
void | HAL_I2SEx_TxRxCpltCallback (I2S_HandleTypeDef *hi2s) |
| Tx and Rx Transfer completed callback. More...
|
|
I2SEx IO operation functions.
===============================================================================
##### IO operation functions#####
===============================================================================
[..]
This subsection provides a set of functions allowing to manage the I2S data
transfers.
(#) There are two modes of transfer:
(++) Blocking mode : The communication is performed in the polling mode.
The status of all data processing is returned by the same function
after finishing transfer.
(++) No-Blocking mode : The communication is performed using Interrupts
or DMA. These functions return the status of the transfer startup.
The end of the data processing will be indicated through the
dedicated I2S IRQ when using Interrupt mode or the DMA IRQ when
using DMA mode.
(#) Blocking mode functions are :
(++) HAL_I2SEx_TransmitReceive()
(#) No-Blocking mode functions with Interrupt are :
(++) HAL_I2SEx_TransmitReceive_IT()
(++) HAL_I2SEx_FullDuplex_IRQHandler()
(#) No-Blocking mode functions with DMA are :
(++) HAL_I2SEx_TransmitReceive_DMA()
(#) A set of Transfer Complete Callback are provided in non Blocking mode:
(++) HAL_I2SEx_TxRxCpltCallback()
◆ HAL_I2SEx_FullDuplex_IRQHandler()
This function handles I2S/I2Sext interrupt requests in full-duplex mode.
- Parameters
-
- Return values
-
Definition at line 673 of file stm32f4xx_hal_i2s_ex.c.
◆ HAL_I2SEx_TransmitReceive()
HAL_StatusTypeDef HAL_I2SEx_TransmitReceive |
( |
I2S_HandleTypeDef * |
hi2s, |
|
|
uint16_t * |
pTxData, |
|
|
uint16_t * |
pRxData, |
|
|
uint16_t |
Size, |
|
|
uint32_t |
Timeout |
|
) |
| |
Full-Duplex Transmit/Receive data in blocking mode.
- Parameters
-
hi2s | pointer to a I2S_HandleTypeDef structure that contains the configuration information for I2S module |
pTxData | a 16-bit pointer to the Transmit data buffer. |
pRxData | a 16-bit pointer to the Receive data buffer. |
Size | number of data sample to be sent: |
- Note
- When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S configuration phase, the Size parameter means the number of 16-bit data length in the transaction and when a 24-bit data frame or a 32-bit data frame is selected the Size parameter means the number of 16-bit data length.
- Parameters
-
- Note
- The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization between Master and Slave(example: audio streaming).
- Return values
-
Definition at line 206 of file stm32f4xx_hal_i2s_ex.c.
◆ HAL_I2SEx_TransmitReceive_DMA()
HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_DMA |
( |
I2S_HandleTypeDef * |
hi2s, |
|
|
uint16_t * |
pTxData, |
|
|
uint16_t * |
pRxData, |
|
|
uint16_t |
Size |
|
) |
| |
Full-Duplex Transmit/Receive data in non-blocking mode using DMA.
- Parameters
-
hi2s | pointer to a I2S_HandleTypeDef structure that contains the configuration information for I2S module |
pTxData | a 16-bit pointer to the Transmit data buffer. |
pRxData | a 16-bit pointer to the Receive data buffer. |
Size | number of data sample to be sent: |
- Note
- When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S configuration phase, the Size parameter means the number of 16-bit data length in the transaction and when a 24-bit data frame or a 32-bit data frame is selected the Size parameter means the number of 16-bit data length.
-
The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization between Master and Slave(example: audio streaming).
- Return values
-
Definition at line 548 of file stm32f4xx_hal_i2s_ex.c.
◆ HAL_I2SEx_TransmitReceive_IT()
HAL_StatusTypeDef HAL_I2SEx_TransmitReceive_IT |
( |
I2S_HandleTypeDef * |
hi2s, |
|
|
uint16_t * |
pTxData, |
|
|
uint16_t * |
pRxData, |
|
|
uint16_t |
Size |
|
) |
| |
Full-Duplex Transmit/Receive data in non-blocking mode using Interrupt.
- Parameters
-
hi2s | pointer to a I2S_HandleTypeDef structure that contains the configuration information for I2S module |
pTxData | a 16-bit pointer to the Transmit data buffer. |
pRxData | a 16-bit pointer to the Receive data buffer. |
Size | number of data sample to be sent: |
- Note
- When a 16-bit data frame or a 16-bit data frame extended is selected during the I2S configuration phase, the Size parameter means the number of 16-bit data length in the transaction and when a 24-bit data frame or a 32-bit data frame is selected the Size parameter means the number of 16-bit data length.
-
The I2S is kept enabled at the end of transaction to avoid the clock de-synchronization between Master and Slave(example: audio streaming).
- Return values
-
Definition at line 439 of file stm32f4xx_hal_i2s_ex.c.
◆ HAL_I2SEx_TxRxCpltCallback()
◆ HAL_I2SEx_TxRxHalfCpltCallback()