STM32H735xx HAL User Manual
|
Header file of I2S HAL module. More...
#include "stm32h7xx_hal_def.h"
Go to the source code of this file.
Data Structures | |
struct | I2S_InitTypeDef |
I2S Init structure definition. More... | |
struct | __I2S_HandleTypeDef |
I2S handle Structure definition. More... | |
Defines | |
#define | HAL_I2S_ERROR_NONE (0x00000000UL) |
#define | HAL_I2S_ERROR_TIMEOUT (0x00000001UL) |
#define | HAL_I2S_ERROR_OVR (0x00000002UL) |
#define | HAL_I2S_ERROR_UDR (0x00000004UL) |
#define | HAL_I2S_ERROR_DMA (0x00000008UL) |
#define | HAL_I2S_ERROR_PRESCALER (0x00000010UL) |
#define | HAL_I2S_ERROR_FRE (0x00000020UL) |
#define | HAL_I2S_ERROR_NO_OGT (0x00000040UL) |
#define | HAL_I2S_ERROR_NOT_SUPPORTED (0x00000080UL) |
#define | HAL_I2S_ERROR_INVALID_CALLBACK (0x00000100UL) |
#define | I2S_MODE_SLAVE_TX (0x00000000UL) |
#define | I2S_MODE_SLAVE_RX (SPI_I2SCFGR_I2SCFG_0) |
#define | I2S_MODE_MASTER_TX (SPI_I2SCFGR_I2SCFG_1) |
#define | I2S_MODE_MASTER_RX (SPI_I2SCFGR_I2SCFG_0 | SPI_I2SCFGR_I2SCFG_1) |
#define | I2S_MODE_SLAVE_FULLDUPLEX (SPI_I2SCFGR_I2SCFG_2) |
#define | I2S_MODE_MASTER_FULLDUPLEX (SPI_I2SCFGR_I2SCFG_2 | SPI_I2SCFGR_I2SCFG_0) |
#define | I2S_STANDARD_PHILIPS (0x00000000UL) |
#define | I2S_STANDARD_MSB (SPI_I2SCFGR_I2SSTD_0) |
#define | I2S_STANDARD_LSB (SPI_I2SCFGR_I2SSTD_1) |
#define | I2S_STANDARD_PCM_SHORT (SPI_I2SCFGR_I2SSTD_0 | SPI_I2SCFGR_I2SSTD_1) |
#define | I2S_STANDARD_PCM_LONG (SPI_I2SCFGR_I2SSTD_0 | SPI_I2SCFGR_I2SSTD_1 | SPI_I2SCFGR_PCMSYNC) |
#define | I2S_DATAFORMAT_16B (0x00000000UL) |
#define | I2S_DATAFORMAT_16B_EXTENDED (SPI_I2SCFGR_CHLEN) |
#define | I2S_DATAFORMAT_24B (SPI_I2SCFGR_DATLEN_0) |
#define | I2S_DATAFORMAT_32B (SPI_I2SCFGR_DATLEN_1) |
#define | I2S_MCLKOUTPUT_ENABLE (SPI_I2SCFGR_MCKOE) |
#define | I2S_MCLKOUTPUT_DISABLE (0x00000000UL) |
#define | I2S_AUDIOFREQ_192K (192000UL) |
#define | I2S_AUDIOFREQ_96K (96000UL) |
#define | I2S_AUDIOFREQ_48K (48000UL) |
#define | I2S_AUDIOFREQ_44K (44100UL) |
#define | I2S_AUDIOFREQ_32K (32000UL) |
#define | I2S_AUDIOFREQ_22K (22050UL) |
#define | I2S_AUDIOFREQ_16K (16000UL) |
#define | I2S_AUDIOFREQ_11K (11025UL) |
#define | I2S_AUDIOFREQ_8K (8000UL) |
#define | I2S_AUDIOFREQ_DEFAULT (2UL) |
#define | I2S_CPOL_LOW (0x00000000UL) |
#define | I2S_CPOL_HIGH (SPI_I2SCFGR_CKPOL) |
#define | I2S_FIRSTBIT_MSB (0x00000000UL) |
#define | I2S_FIRSTBIT_LSB SPI_CFG2_LSBFRST |
#define | I2S_WS_INVERSION_DISABLE (0x00000000UL) |
#define | I2S_WS_INVERSION_ENABLE SPI_I2SCFGR_WSINV |
#define | I2S_DATA_24BIT_ALIGNMENT_RIGHT (0x00000000UL) |
#define | I2S_DATA_24BIT_ALIGNMENT_LEFT SPI_I2SCFGR_DATFMT |
#define | I2S_MASTER_KEEP_IO_STATE_DISABLE (0x00000000U) |
#define | I2S_MASTER_KEEP_IO_STATE_ENABLE SPI_CFG2_AFCNTR |
#define | I2S_IT_RXP SPI_IER_RXPIE |
#define | I2S_IT_TXP SPI_IER_TXPIE |
#define | I2S_IT_DXP SPI_IER_DXPIE |
#define | I2S_IT_UDR SPI_IER_UDRIE |
#define | I2S_IT_OVR SPI_IER_OVRIE |
#define | I2S_IT_FRE SPI_IER_TIFREIE |
#define | I2S_IT_ERR (SPI_IER_UDRIE | SPI_IER_OVRIE | SPI_IER_TIFREIE) |
#define | I2S_FLAG_RXP SPI_SR_RXP /* I2S status flag : Rx-Packet available flag */ |
#define | I2S_FLAG_TXP SPI_SR_TXP /* I2S status flag : Tx-Packet space available flag */ |
#define | I2S_FLAG_DXP SPI_SR_DXP /* I2S status flag : Dx-Packet space available flag */ |
#define | I2S_FLAG_UDR SPI_SR_UDR /* I2S Error flag : Underrun flag */ |
#define | I2S_FLAG_OVR SPI_SR_OVR /* I2S Error flag : Overrun flag */ |
#define | I2S_FLAG_FRE SPI_SR_TIFRE /* I2S Error flag : TI mode frame format error flag */ |
#define | I2S_FLAG_MASK (SPI_SR_RXP | SPI_SR_TXP | SPI_SR_DXP |SPI_SR_UDR | SPI_SR_OVR | SPI_SR_TIFRE) |
#define | __HAL_I2S_RESET_HANDLE_STATE(__HANDLE__) |
Reset I2S handle state. | |
#define | __HAL_I2S_ENABLE(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_SPE)) |
Enable the specified SPI peripheral (in I2S mode). | |
#define | __HAL_I2S_DISABLE(__HANDLE__) (CLEAR_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_SPE)) |
Disable the specified SPI peripheral (in I2S mode). | |
#define | __HAL_I2S_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) |
Enable the specified I2S interrupts. | |
#define | __HAL_I2S_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__))) |
Disable the specified I2S interrupts. | |
#define | __HAL_I2S_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) |
Check if the specified I2S interrupt source is enabled or disabled. | |
#define | __HAL_I2S_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) |
Check whether the specified I2S flag is set or not. | |
#define | __HAL_I2S_CLEAR_OVRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_OVRC) |
Clear the I2S OVR pending flag. | |
#define | __HAL_I2S_CLEAR_UDRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_UDRC) |
Clear the I2S UDR pending flag. | |
#define | __HAL_I2S_CLEAR_TIFREFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_TIFREC) |
Clear the I2S FRE pending flag. | |
#define | I2S_CHECK_FLAG(__SR__, __FLAG__) |
Check whether the specified SPI flag is set or not. | |
#define | I2S_CHECK_IT_SOURCE(__IER__, __INTERRUPT__) |
Check whether the specified SPI Interrupt is set or not. | |
#define | IS_I2S_MODE(__MODE__) |
Checks if I2S Mode parameter is in allowed range. | |
#define | IS_I2S_MASTER(__MODE__) |
#define | IS_I2S_SLAVE(__MODE__) |
#define | IS_I2S_FULLDUPLEX(__MODE__) |
#define | IS_I2S_STANDARD(__STANDARD__) |
#define | IS_I2S_DATA_FORMAT(__FORMAT__) |
#define | IS_I2S_MCLK_OUTPUT(__OUTPUT__) |
#define | IS_I2S_AUDIO_FREQ(__FREQ__) |
#define | IS_I2S_CPOL(__CPOL__) |
#define | IS_I2S_FIRST_BIT(__BIT__) |
#define | IS_I2S_WS_INVERSION(__WSINV__) |
#define | IS_I2S_DATA_24BIT_ALIGNMENT(__ALIGNMENT__) |
#define | IS_I2S_MASTER_KEEP_IO_STATE(__AFCNTR__) |
Typedefs | |
typedef struct __I2S_HandleTypeDef | I2S_HandleTypeDef |
I2S handle Structure definition. | |
typedef void(* | pI2S_CallbackTypeDef )(I2S_HandleTypeDef *hi2s) |
HAL I2S Callback pointer definition. | |
Enumerations | |
enum | HAL_I2S_StateTypeDef { HAL_I2S_STATE_RESET = 0x00UL, HAL_I2S_STATE_READY = 0x01UL, HAL_I2S_STATE_BUSY = 0x02UL, HAL_I2S_STATE_BUSY_TX = 0x03UL, HAL_I2S_STATE_BUSY_RX = 0x04UL, HAL_I2S_STATE_BUSY_TX_RX = 0x05UL, HAL_I2S_STATE_TIMEOUT = 0x06UL, HAL_I2S_STATE_ERROR = 0x07UL } |
HAL State structures definition. More... | |
enum | HAL_I2S_CallbackIDTypeDef { HAL_I2S_TX_COMPLETE_CB_ID = 0x00UL, HAL_I2S_RX_COMPLETE_CB_ID = 0x01UL, HAL_I2S_TX_RX_COMPLETE_CB_ID = 0x02UL, HAL_I2S_TX_HALF_COMPLETE_CB_ID = 0x03UL, HAL_I2S_RX_HALF_COMPLETE_CB_ID = 0x04UL, HAL_I2S_TX_RX_HALF_COMPLETE_CB_ID = 0x05UL, HAL_I2S_ERROR_CB_ID = 0x06UL, HAL_I2S_MSPINIT_CB_ID = 0x07UL, HAL_I2S_MSPDEINIT_CB_ID = 0x08UL } |
HAL I2S Callback ID enumeration definition. More... | |
Functions | |
HAL_StatusTypeDef | HAL_I2S_Init (I2S_HandleTypeDef *hi2s) |
Initializes the I2S according to the specified parameters in the I2S_InitTypeDef and create the associated handle. | |
HAL_StatusTypeDef | HAL_I2S_DeInit (I2S_HandleTypeDef *hi2s) |
DeInitializes the I2S peripheral. | |
__weak void | HAL_I2S_MspInit (I2S_HandleTypeDef *hi2s) |
I2S MSP Init. | |
__weak void | HAL_I2S_MspDeInit (I2S_HandleTypeDef *hi2s) |
I2S MSP DeInit. | |
HAL_StatusTypeDef | HAL_I2S_RegisterCallback (I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef CallbackID, pI2S_CallbackTypeDef pCallback) |
Register a User I2S Callback To be used instead of the weak predefined callback. | |
HAL_StatusTypeDef | HAL_I2S_UnRegisterCallback (I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef CallbackID) |
Unregister an I2S Callback I2S callback is redirected to the weak predefined callback. | |
HAL_StatusTypeDef | HAL_I2S_Transmit (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout) |
Transmit an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_I2S_Receive (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t Timeout) |
Receive an amount of data in blocking mode. | |
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. | |
HAL_StatusTypeDef | HAL_I2S_Transmit_IT (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
Transmit an amount of data in non-blocking mode with Interrupt. | |
HAL_StatusTypeDef | HAL_I2S_Receive_IT (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
Receive an amount of data in non-blocking mode with Interrupt. | |
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. | |
void | HAL_I2S_IRQHandler (I2S_HandleTypeDef *hi2s) |
This function handles I2S interrupt request. | |
HAL_StatusTypeDef | HAL_I2S_Transmit_DMA (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
Transmit an amount of data in non-blocking mode with DMA. | |
HAL_StatusTypeDef | HAL_I2S_Receive_DMA (I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) |
Receive an amount of data in non-blocking mode with 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. | |
HAL_StatusTypeDef | HAL_I2S_DMAPause (I2S_HandleTypeDef *hi2s) |
Pauses the audio DMA Stream/Channel playing from the Media. | |
HAL_StatusTypeDef | HAL_I2S_DMAResume (I2S_HandleTypeDef *hi2s) |
Resumes the audio DMA Stream/Channel playing from the Media. | |
HAL_StatusTypeDef | HAL_I2S_DMAStop (I2S_HandleTypeDef *hi2s) |
Stops the audio DMA Stream/Channel playing from the Media. | |
__weak void | HAL_I2S_TxHalfCpltCallback (I2S_HandleTypeDef *hi2s) |
Tx Transfer Half completed callbacks. | |
__weak void | HAL_I2S_TxCpltCallback (I2S_HandleTypeDef *hi2s) |
Tx Transfer completed callbacks. | |
__weak void | HAL_I2S_RxHalfCpltCallback (I2S_HandleTypeDef *hi2s) |
Rx Transfer half completed callbacks. | |
__weak void | HAL_I2S_RxCpltCallback (I2S_HandleTypeDef *hi2s) |
Rx Transfer completed callbacks. | |
__weak void | HAL_I2SEx_TxRxHalfCpltCallback (I2S_HandleTypeDef *hi2s) |
Rx Transfer half completed callbacks. | |
__weak void | HAL_I2SEx_TxRxCpltCallback (I2S_HandleTypeDef *hi2s) |
Rx Transfer completed callbacks. | |
__weak void | HAL_I2S_ErrorCallback (I2S_HandleTypeDef *hi2s) |
I2S error callbacks. | |
HAL_I2S_StateTypeDef | HAL_I2S_GetState (I2S_HandleTypeDef *hi2s) |
Return the I2S state. | |
uint32_t | HAL_I2S_GetError (I2S_HandleTypeDef *hi2s) |
Return the I2S error code. |
Header file of I2S HAL module.
Copyright (c) 2017 STMicroelectronics. All rights reserved.
This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.
Definition in file stm32h7xx_hal_i2s.h.