STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
I2C Exported Macros
Collaboration diagram for I2C Exported Macros:

Macros

#define __HAL_I2C_RESET_HANDLE_STATE(__HANDLE__)
 Reset I2C handle state.
 
#define __HAL_I2C_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enable or disable the specified I2C interrupts.
 
#define __HAL_I2C_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 
#define __HAL_I2C_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
 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__)
 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__)
 Enable the specified I2C peripheral.
 
#define __HAL_I2C_DISABLE(__HANDLE__)
 Disable the specified I2C peripheral.
 

Detailed Description

Macro Definition Documentation

◆ __HAL_I2C_RESET_HANDLE_STATE

#define __HAL_I2C_RESET_HANDLE_STATE ( __HANDLE__)

#include <stm32f4xx_hal_i2c.h>

Value:
((__HANDLE__)->State = HAL_I2C_STATE_RESET)
@ HAL_I2C_STATE_RESET

Reset I2C handle state.

Parameters
__HANDLE__specifies the I2C Handle.
Return values
None

Definition at line 426 of file stm32f4xx_hal_i2c.h.

◆ __HAL_I2C_ENABLE_IT

#define __HAL_I2C_ENABLE_IT ( __HANDLE__,
__INTERRUPT__ )

#include <stm32f4xx_hal_i2c.h>

Value:
SET_BIT((__HANDLE__)->Instance->CR2,(__INTERRUPT__))

Enable or disable the specified I2C interrupts.

Parameters
__HANDLE__specifies the I2C Handle.
__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 438 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_Seq_Receive_DMA(), HAL_I2C_Master_Seq_Receive_IT(), HAL_I2C_Master_Seq_Transmit_DMA(), HAL_I2C_Master_Seq_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_Seq_Receive_DMA(), HAL_I2C_Slave_Seq_Receive_IT(), HAL_I2C_Slave_Seq_Transmit_DMA(), HAL_I2C_Slave_Seq_Transmit_IT(), HAL_I2C_Slave_Transmit_DMA(), HAL_I2C_Slave_Transmit_IT(), and I2C_DMAXferCplt().

◆ __HAL_I2C_DISABLE_IT

◆ __HAL_I2C_GET_IT_SOURCE

#define __HAL_I2C_GET_IT_SOURCE ( __HANDLE__,
__INTERRUPT__ )

#include <stm32f4xx_hal_i2c.h>

Value:
((((__HANDLE__)->Instance->CR2 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)

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

Parameters
__HANDLE__specifies the I2C Handle.
__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 450 of file stm32f4xx_hal_i2c.h.

◆ __HAL_I2C_GET_FLAG

#define __HAL_I2C_GET_FLAG ( __HANDLE__,
__FLAG__ )

#include <stm32f4xx_hal_i2c.h>

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

Checks whether the specified I2C flag is set or not.

Parameters
__HANDLE__specifies the I2C Handle.
__FLAG__specifies the flag to check. This parameter can be one of the following values:
  • 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_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 475 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_IsDeviceReady(), HAL_I2C_Master_Abort_IT(), HAL_I2C_Master_Receive(), HAL_I2C_Master_Receive_DMA(), HAL_I2C_Master_Receive_IT(), HAL_I2C_Master_Seq_Receive_DMA(), HAL_I2C_Master_Seq_Receive_IT(), HAL_I2C_Master_Seq_Transmit_DMA(), HAL_I2C_Master_Seq_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_Transmit(), I2C_Flush_DR(), I2C_IsAcknowledgeFailed(), I2C_ITError(), I2C_Slave_STOPF(), I2C_WaitOnBTFFlagUntilTimeout(), I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnMasterAddressFlagUntilTimeout(), I2C_WaitOnRXNEFlagUntilTimeout(), I2C_WaitOnSTOPFlagUntilTimeout(), and I2C_WaitOnTXEFlagUntilTimeout().

◆ __HAL_I2C_CLEAR_FLAG

#define __HAL_I2C_CLEAR_FLAG ( __HANDLE__,
__FLAG__ )

#include <stm32f4xx_hal_i2c.h>

Value:
((__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.
__FLAG__specifies the flag to clear. This parameter can be any combination of the following values:
  • 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 489 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().

◆ __HAL_I2C_CLEAR_ADDRFLAG

#define __HAL_I2C_CLEAR_ADDRFLAG ( __HANDLE__)

#include <stm32f4xx_hal_i2c.h>

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 496 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_Seq_Receive_DMA(), HAL_I2C_Slave_Seq_Receive_IT(), HAL_I2C_Slave_Seq_Transmit_DMA(), HAL_I2C_Slave_Seq_Transmit_IT(), HAL_I2C_Slave_Transmit(), I2C_Master_ADDR(), I2C_MasterRequestRead(), I2C_RequestMemoryRead(), I2C_RequestMemoryWrite(), and I2C_Slave_ADDR().

◆ __HAL_I2C_CLEAR_STOPFLAG

#define __HAL_I2C_CLEAR_STOPFLAG ( __HANDLE__)

#include <stm32f4xx_hal_i2c.h>

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

Clears the I2C STOPF pending flag.

Parameters
__HANDLE__specifies the I2C Handle.
Return values
None

Definition at line 508 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_Slave_Receive(), and I2C_Slave_STOPF().

◆ __HAL_I2C_ENABLE

◆ __HAL_I2C_DISABLE

#define __HAL_I2C_DISABLE ( __HANDLE__)

#include <stm32f4xx_hal_i2c.h>

Value:
CLEAR_BIT((__HANDLE__)->Instance->CR1, I2C_CR1_PE)

Disable the specified I2C peripheral.

Parameters
__HANDLE__specifies the I2C Handle.
Return values
None

Definition at line 526 of file stm32f4xx_hal_i2c.h.

Referenced by HAL_I2C_DeInit(), HAL_I2C_Init(), HAL_I2C_Mem_Read_DMA(), HAL_I2C_Mem_Write_DMA(), I2C_DMAAbort(), and I2C_ITError().