思澈科技软件开发工具包  2.20
I2C Private Macros

Macros

#define IS_I2C_ADDRESSING_MODE(MODE)
 
#define IS_I2C_GENERAL_CALL(CALL)   (1)
 
#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__)   ((__HANDLE__)->Instance->CR2 &= (uint32_t)~((uint32_t)(I2C_CR2_SADD | I2C_CR2_HEAD10R | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_RD_WRN)))
 
#define I2C_GET_ADDR_MATCH(__HANDLE__)   ((uint16_t)(((__HANDLE__)->Instance->ISR & I2C_ISR_ADDCODE) >> 16U))
 
#define I2C_GET_DIR(__HANDLE__)   ((uint8_t)(((__HANDLE__)->Instance->ISR & I2C_ISR_DIR) >> 16U))
 
#define I2C_GET_STOP_MODE(__HANDLE__)   ((__HANDLE__)->Instance->CR & I2C_CR_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 I2C_MEM_ADD_MSB(__ADDRESS__)   ((uint8_t)((uint16_t)(((uint16_t)((__ADDRESS__) & (uint16_t)(0xFF00U))) >> 8U)))
 
#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__)   ((((__ISR__) & (__FLAG__)) == (__FLAG__)) ? SET : RESET)
 
#define I2C_CHECK_IT_SOURCE(__CR1__, __IT__)   ((((__CR1__) & (__IT__)) == (__IT__)) ? SET : RESET)
 
#define IS_I2C_ALL_INSTANCE(__INSTANCE__)
 

Detailed Description

Macro Definition Documentation

◆ I2C_GENERATE_START

#define I2C_GENERATE_START (   __ADDMODE__,
  __ADDRESS__ 
)
Value:
(((__ADDMODE__) == I2C_ADDRESSINGMODE_7BIT) ? (uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR_SADD)) | (I2C_CR_START) | (I2C_CR_AUTOEND)) & (~I2C_CR_RD_WRN)) : \
(uint32_t)((((uint32_t)(__ADDRESS__) & (I2C_CR_SADD)) | (I2C_CR_ADD10) | (I2C_CR_START)) & (~I2C_CR_RD_WRN)))

◆ IS_I2C_ADDRESSING_MODE

#define IS_I2C_ADDRESSING_MODE (   MODE)
Value:
(((MODE) == I2C_ADDRESSINGMODE_7BIT) || \
((MODE) == I2C_ADDRESSINGMODE_10BIT))

◆ IS_I2C_ALL_INSTANCE

#define IS_I2C_ALL_INSTANCE (   __INSTANCE__)
Value:
(((__INSTANCE__) == I2C1) || \
((__INSTANCE__) == I2C2) || \
((__INSTANCE__) == I2C3) || \
((__INSTANCE__) == I2C4))

◆ IS_I2C_MEMADD_SIZE

#define IS_I2C_MEMADD_SIZE (   SIZE)
Value:
(((SIZE) == I2C_MEMADD_SIZE_8BIT) || \
((SIZE) == I2C_MEMADD_SIZE_16BIT))

◆ IS_I2C_TRANSFER_OPTIONS_REQUEST

#define IS_I2C_TRANSFER_OPTIONS_REQUEST (   REQUEST)
Value:
(((REQUEST) == I2C_FIRST_FRAME) || \
((REQUEST) == I2C_FIRST_AND_NEXT_FRAME) || \
((REQUEST) == I2C_NEXT_FRAME) || \
((REQUEST) == I2C_FIRST_AND_LAST_FRAME) || \
((REQUEST) == I2C_LAST_FRAME) || \
((REQUEST) == I2C_LAST_FRAME_NO_STOP) || \
IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(REQUEST))

◆ IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST

#define IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST (   REQUEST)
Value:
(((REQUEST) == I2C_OTHER_FRAME) || \
((REQUEST) == I2C_OTHER_AND_LAST_FRAME))

◆ IS_TRANSFER_MODE

#define IS_TRANSFER_MODE (   MODE)
Value:
(((MODE) == I2C_RELOAD_MODE) || \
((MODE) == I2C_AUTOEND_MODE) || \
((MODE) == I2C_SOFTEND_MODE))

◆ IS_TRANSFER_REQUEST

#define IS_TRANSFER_REQUEST (   REQUEST)
Value:
(((REQUEST) == I2C_GENERATE_STOP) || \
((REQUEST) == I2C_GENERATE_START_READ) || \
((REQUEST) == I2C_GENERATE_START_WRITE) || \
((REQUEST) == I2C_NO_STARTSTOP))
I2C_GENERATE_STOP
#define I2C_GENERATE_STOP
I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
Definition: bf0_hal_i2c.h:400
I2C_AUTOEND_MODE
#define I2C_AUTOEND_MODE
I2C_AUTOEND_MODE Enable Automatic end mode.
Definition: bf0_hal_i2c.h:377
I2C_NO_STARTSTOP
#define I2C_NO_STARTSTOP
I2C_NO_STARTSTOP Don't Generate stop and start condition.
Definition: bf0_hal_i2c.h:396
I2C_GENERATE_START_WRITE
#define I2C_GENERATE_START_WRITE
I2C_GENERATE_START_WRITE Generate Restart for write request.
Definition: bf0_hal_i2c.h:408
I2C_GENERATE_START_READ
#define I2C_GENERATE_START_READ
I2C_GENERATE_START_READ Generate Restart for read request.
Definition: bf0_hal_i2c.h:404
I2C_SOFTEND_MODE
#define I2C_SOFTEND_MODE
I2C_SOFTEND_MODE Enable Software end mode.
Definition: bf0_hal_i2c.h:382
I2C_RELOAD_MODE
#define I2C_RELOAD_MODE
I2C_RELOAD_MODE Enable Reload mode .
Definition: bf0_hal_i2c.h:372