STM32F439xx HAL User Manual
Defines
I2C Exported Macros
I2C

Defines

#define __HAL_I2C_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = HAL_I2C_STATE_RESET)
 Reset I2C handle state.
#define __HAL_I2C_ENABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->CR2 |= (__INTERRUPT__))
 Enable or disable the specified I2C interrupts.
#define __HAL_I2C_DISABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->CR2 &= (~(__INTERRUPT__)))
#define __HAL_I2C_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)   ((((__HANDLE__)->Instance->CR2 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
 Checks if the specified I2C interrupt source is enabled or disabled.
#define __HAL_I2C_GET_FLAG(__HANDLE__, __FLAG__)
 Checks whether the specified I2C flag is set or not.
#define __HAL_I2C_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->SR1 = ~((__FLAG__) & I2C_FLAG_MASK))
 Clears the I2C pending flags which are cleared by writing 0 in a specific bit.
#define __HAL_I2C_CLEAR_ADDRFLAG(__HANDLE__)
 Clears the I2C ADDR pending flag.
#define __HAL_I2C_CLEAR_STOPFLAG(__HANDLE__)
 Clears the I2C STOPF pending flag.
#define __HAL_I2C_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 |= I2C_CR1_PE)
 Enable the I2C peripheral.
#define __HAL_I2C_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CR1 &= ~I2C_CR1_PE)
 Disable the I2C peripheral.

Define Documentation

#define __HAL_I2C_CLEAR_ADDRFLAG (   __HANDLE__)
Value:
do{                                           \
    __IO uint32_t tmpreg = 0x00U;               \
    tmpreg = (__HANDLE__)->Instance->SR1;       \
    tmpreg = (__HANDLE__)->Instance->SR2;       \
    UNUSED(tmpreg);                             \
  } while(0)

Clears the I2C ADDR pending flag.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
Return values:
None

Definition at line 433 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_IsDeviceReady(), HAL_I2C_Master_Receive(), HAL_I2C_Master_Transmit(), HAL_I2C_Mem_Read(), HAL_I2C_Mem_Read_DMA(), HAL_I2C_Mem_Write_DMA(), HAL_I2C_Slave_Receive(), HAL_I2C_Slave_Sequential_Receive_IT(), HAL_I2C_Slave_Sequential_Transmit_IT(), HAL_I2C_Slave_Transmit(), I2C_Master_ADDR(), I2C_MasterRequestRead(), I2C_RequestMemoryRead(), and I2C_RequestMemoryWrite().

#define __HAL_I2C_CLEAR_FLAG (   __HANDLE__,
  __FLAG__ 
)    ((__HANDLE__)->Instance->SR1 = ~((__FLAG__) & I2C_FLAG_MASK))

Clears the I2C pending flags which are cleared by writing 0 in a specific bit.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
__FLAG__specifies the flag to clear. This parameter can be any combination of the following values:
  • I2C_FLAG_SMBALERT: SMBus Alert flag
  • I2C_FLAG_TIMEOUT: Timeout or Tlow error flag
  • I2C_FLAG_PECERR: PEC error in reception flag
  • I2C_FLAG_OVR: Overrun/Underrun flag (Slave mode)
  • I2C_FLAG_AF: Acknowledge failure flag
  • I2C_FLAG_ARLO: Arbitration lost flag (Master mode)
  • I2C_FLAG_BERR: Bus error flag
Return values:
None

Definition at line 426 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_ER_IRQHandler(), HAL_I2C_IsDeviceReady(), HAL_I2C_Slave_Transmit(), I2C_IsAcknowledgeFailed(), I2C_Slave_AF(), I2C_WaitOnMasterAddressFlagUntilTimeout(), and I2C_WaitOnRXNEFlagUntilTimeout().

#define __HAL_I2C_CLEAR_STOPFLAG (   __HANDLE__)
Value:
do{                                           \
    __IO uint32_t tmpreg = 0x00U;               \
    tmpreg = (__HANDLE__)->Instance->SR1;       \
    (__HANDLE__)->Instance->CR1 |= I2C_CR1_PE;  \
    UNUSED(tmpreg);                             \
  } while(0)

Clears the I2C STOPF pending flag.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
Return values:
None

Definition at line 446 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_Slave_Receive(), and I2C_Slave_STOPF().

#define __HAL_I2C_DISABLE (   __HANDLE__)    ((__HANDLE__)->Instance->CR1 &= ~I2C_CR1_PE)

Disable the I2C peripheral.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2Cx where x: 1 or 2 to select the I2C peripheral.
Return values:
None

Definition at line 466 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_DeInit(), HAL_I2C_Init(), HAL_I2CEx_ConfigAnalogFilter(), HAL_I2CEx_ConfigDigitalFilter(), I2C_DMAAbort(), and I2C_ITError().

#define __HAL_I2C_DISABLE_IT (   __HANDLE__,
  __INTERRUPT__ 
)    ((__HANDLE__)->Instance->CR2 &= (~(__INTERRUPT__)))
#define __HAL_I2C_ENABLE (   __HANDLE__)    ((__HANDLE__)->Instance->CR1 |= I2C_CR1_PE)
#define __HAL_I2C_ENABLE_IT (   __HANDLE__,
  __INTERRUPT__ 
)    ((__HANDLE__)->Instance->CR2 |= (__INTERRUPT__))

Enable or disable the specified I2C interrupts.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
__INTERRUPT__specifies the interrupt source to enable or disable. This parameter can be one of the following values:
  • I2C_IT_BUF: Buffer interrupt enable
  • I2C_IT_EVT: Event interrupt enable
  • I2C_IT_ERR: Error interrupt enable
Return values:
None

Definition at line 365 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_EnableListen_IT(), HAL_I2C_Master_Receive_DMA(), HAL_I2C_Master_Receive_IT(), HAL_I2C_Master_Sequential_Receive_IT(), HAL_I2C_Master_Sequential_Transmit_IT(), HAL_I2C_Master_Transmit_DMA(), HAL_I2C_Master_Transmit_IT(), HAL_I2C_Mem_Read_DMA(), HAL_I2C_Mem_Read_IT(), HAL_I2C_Mem_Write_DMA(), HAL_I2C_Mem_Write_IT(), HAL_I2C_Slave_Receive_DMA(), HAL_I2C_Slave_Receive_IT(), HAL_I2C_Slave_Sequential_Receive_IT(), HAL_I2C_Slave_Sequential_Transmit_IT(), HAL_I2C_Slave_Transmit_DMA(), HAL_I2C_Slave_Transmit_IT(), and I2C_DMAXferCplt().

#define __HAL_I2C_GET_FLAG (   __HANDLE__,
  __FLAG__ 
)
Value:
((((uint8_t)((__FLAG__) >> 16U)) == 0x01U)?((((__HANDLE__)->Instance->SR1) & ((__FLAG__) & I2C_FLAG_MASK)) == ((__FLAG__) & I2C_FLAG_MASK)): \
                                                 ((((__HANDLE__)->Instance->SR2) & ((__FLAG__) & I2C_FLAG_MASK)) == ((__FLAG__) & I2C_FLAG_MASK)))

Checks whether the specified I2C flag is set or not.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
__FLAG__specifies the flag to check. This parameter can be one of the following values:
  • I2C_FLAG_SMBALERT: SMBus Alert flag
  • I2C_FLAG_TIMEOUT: Timeout or Tlow error flag
  • I2C_FLAG_PECERR: PEC error in reception flag
  • I2C_FLAG_OVR: Overrun/Underrun flag
  • I2C_FLAG_AF: Acknowledge failure flag
  • I2C_FLAG_ARLO: Arbitration lost flag
  • I2C_FLAG_BERR: Bus error flag
  • I2C_FLAG_TXE: Data register empty flag
  • I2C_FLAG_RXNE: Data register not empty flag
  • I2C_FLAG_STOPF: Stop detection flag
  • I2C_FLAG_ADD10: 10-bit header sent flag
  • I2C_FLAG_BTF: Byte transfer finished flag
  • I2C_FLAG_ADDR: Address sent flag Address matched flag
  • I2C_FLAG_SB: Start bit flag
  • I2C_FLAG_DUALF: Dual flag
  • I2C_FLAG_SMBHOST: SMBus host header
  • I2C_FLAG_SMBDEFAULT: SMBus default header
  • I2C_FLAG_GENCALL: General call header flag
  • I2C_FLAG_TRA: Transmitter/Receiver flag
  • I2C_FLAG_BUSY: Bus busy flag
  • I2C_FLAG_MSL: Master/Slave flag
Return values:
Thenew state of __FLAG__ (TRUE or FALSE).

Definition at line 409 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_IsDeviceReady(), HAL_I2C_Master_Receive(), HAL_I2C_Master_Receive_DMA(), HAL_I2C_Master_Receive_IT(), HAL_I2C_Master_Sequential_Receive_IT(), HAL_I2C_Master_Sequential_Transmit_IT(), HAL_I2C_Master_Transmit(), HAL_I2C_Master_Transmit_DMA(), HAL_I2C_Master_Transmit_IT(), HAL_I2C_Mem_Read(), HAL_I2C_Mem_Read_DMA(), HAL_I2C_Mem_Read_IT(), HAL_I2C_Mem_Write(), HAL_I2C_Mem_Write_DMA(), HAL_I2C_Mem_Write_IT(), HAL_I2C_Slave_Receive(), HAL_I2C_Slave_Receive_DMA(), HAL_I2C_Slave_Receive_IT(), HAL_I2C_Slave_Transmit(), HAL_I2C_Slave_Transmit_DMA(), HAL_I2C_Slave_Transmit_IT(), I2C_IsAcknowledgeFailed(), I2C_ITError(), I2C_Slave_ADDR(), I2C_Slave_STOPF(), I2C_WaitOnBTFFlagUntilTimeout(), I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnMasterAddressFlagUntilTimeout(), I2C_WaitOnRXNEFlagUntilTimeout(), I2C_WaitOnSTOPFlagUntilTimeout(), and I2C_WaitOnTXEFlagUntilTimeout().

#define __HAL_I2C_GET_IT_SOURCE (   __HANDLE__,
  __INTERRUPT__ 
)    ((((__HANDLE__)->Instance->CR2 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)

Checks if the specified I2C interrupt source is enabled or disabled.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
__INTERRUPT__specifies the I2C interrupt source to check. This parameter can be one of the following values:
  • I2C_IT_BUF: Buffer interrupt enable
  • I2C_IT_EVT: Event interrupt enable
  • I2C_IT_ERR: Error interrupt enable
Return values:
Thenew state of __INTERRUPT__ (TRUE or FALSE).

Definition at line 378 of file stm32f4xx_hal_i2c.h.

#define __HAL_I2C_RESET_HANDLE_STATE (   __HANDLE__)    ((__HANDLE__)->State = HAL_I2C_STATE_RESET)

Reset I2C handle state.

Parameters:
__HANDLE__specifies the I2C Handle. This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
Return values:
None

Definition at line 353 of file stm32f4xx_hal_i2c.h.