STM32G474xx HAL用户手册
宏定义
I2C私有宏
I2C

宏定义

#define I2C_GET_DMA_REMAIN_DATA(__HANDLE__)   __HAL_DMA_GET_COUNTER(__HANDLE__)
#define IS_I2C_ADDRESSING_MODE(MODE)
#define IS_I2C_DUAL_ADDRESS(ADDRESS)
#define IS_I2C_OWN_ADDRESS2_MASK(MASK)
#define IS_I2C_GENERAL_CALL(CALL)
#define IS_I2C_NO_STRETCH(STRETCH)
#define IS_I2C_MEMADD_SIZE(SIZE)
#define IS_TRANSFER_MODE(MODE)
#define IS_TRANSFER_REQUEST(REQUEST)
#define IS_I2C_TRANSFER_OPTIONS_REQUEST(REQUEST)
#define IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(REQUEST)
#define I2C_RESET_CR2(__HANDLE__)
#define I2C_GET_ADDR_MATCH(__HANDLE__)
#define I2C_GET_DIR(__HANDLE__)
#define I2C_GET_STOP_MODE(__HANDLE__)   ((__HANDLE__)->Instance->CR2 & I2C_CR2_AUTOEND)
#define I2C_GET_OWN_ADDRESS1(__HANDLE__)   ((uint16_t)((__HANDLE__)->Instance->OAR1 & I2C_OAR1_OA1))
#define I2C_GET_OWN_ADDRESS2(__HANDLE__)   ((uint16_t)((__HANDLE__)->Instance->OAR2 & I2C_OAR2_OA2))
#define IS_I2C_OWN_ADDRESS1(ADDRESS1)   ((ADDRESS1) <= 0x000003FFU)
#define IS_I2C_OWN_ADDRESS2(ADDRESS2)   ((ADDRESS2) <= (uint16_t)0x00FFU)
#define I2C_MEM_ADD_MSB(__ADDRESS__)
#define I2C_MEM_ADD_LSB(__ADDRESS__)   ((uint8_t)((uint16_t)((__ADDRESS__) & (uint16_t)(0x00FFU))))
#define I2C_GENERATE_START(__ADDMODE__, __ADDRESS__)
#define I2C_CHECK_FLAG(__ISR__, __FLAG__)
#define I2C_CHECK_IT_SOURCE(__CR1__, __IT__)   ((((__CR1__) & (__IT__)) == (__IT__)) ? SET : RESET)

宏定义说明

#define I2C_CHECK_FLAG (   __ISR__,
  __FLAG__ 
)
值:
((((__ISR__) & ((__FLAG__) & I2C_FLAG_MASK)) == \
                                                    ((__FLAG__) & I2C_FLAG_MASK)) ? SET : RESET)

定义于文件 stm32g4xx_hal_i2c.h 的第 809 行。

被以下函数引用:HAL_I2C_ER_IRQHandler()I2C_ITListenCplt()I2C_ITMasterCplt()I2C_ITSlaveCplt()I2C_Master_ISR_DMA()I2C_Master_ISR_IT()I2C_Mem_ISR_DMA()I2C_Mem_ISR_IT()I2C_Slave_ISR_DMA()I2C_Slave_ISR_IT()

#define I2C_CHECK_IT_SOURCE (   __CR1__,
  __IT__ 
)    ((((__CR1__) & (__IT__)) == (__IT__)) ? SET : RESET)
#define I2C_GENERATE_START (   __ADDMODE__,
  __ADDRESS__ 
)
值:
(((__ADDMODE__) == I2C_ADDRESSINGMODE_7BIT) ? \
                                                     (uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR2_SADD)) | \
                                                                 (I2C_CR2_START) | (I2C_CR2_AUTOEND)) & \
                                                                (~I2C_CR2_RD_WRN)) : \
                                                     (uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR2_SADD)) | \
                                                                 (I2C_CR2_ADD10) | (I2C_CR2_START) | \
                                                                 (I2C_CR2_AUTOEND)) & (~I2C_CR2_RD_WRN)))

定义于文件 stm32g4xx_hal_i2c.h 的第 801 行。

被以下函数引用:HAL_I2C_IsDeviceReady()

#define I2C_GET_ADDR_MATCH (   __HANDLE__)
值:
((uint16_t)(((__HANDLE__)->Instance->ISR & I2C_ISR_ADDCODE) \
                                                              >> 16U))

定义于文件 stm32g4xx_hal_i2c.h 的第 786 行。

被以下函数引用:I2C_ITAddrCplt()

#define I2C_GET_DIR (   __HANDLE__)
值:
((uint8_t)(((__HANDLE__)->Instance->ISR & I2C_ISR_DIR) \
                                                             >> 16U))

定义于文件 stm32g4xx_hal_i2c.h 的第 788 行。

被以下函数引用:HAL_I2C_Slave_Seq_Receive_DMA()HAL_I2C_Slave_Seq_Receive_IT()HAL_I2C_Slave_Seq_Transmit_DMA()HAL_I2C_Slave_Seq_Transmit_IT()I2C_ITAddrCplt()

#define I2C_GET_DMA_REMAIN_DATA (   __HANDLE__)    __HAL_DMA_GET_COUNTER(__HANDLE__)

定义于文件 stm32g4xx_hal_i2c.c 的第 408 行。

被以下函数引用:I2C_DMASlaveReceiveCplt()I2C_ITSlaveCplt()I2C_Slave_ISR_DMA()

#define I2C_GET_OWN_ADDRESS1 (   __HANDLE__)    ((uint16_t)((__HANDLE__)->Instance->OAR1 & I2C_OAR1_OA1))

定义于文件 stm32g4xx_hal_i2c.h 的第 791 行。

被以下函数引用:I2C_ITAddrCplt()

#define I2C_GET_OWN_ADDRESS2 (   __HANDLE__)    ((uint16_t)((__HANDLE__)->Instance->OAR2 & I2C_OAR2_OA2))

定义于文件 stm32g4xx_hal_i2c.h 的第 792 行。

被以下函数引用: