STM32F439xx HAL User Manual
Modules | Functions
I2C Exported Functions
I2C

Modules

 Initialization and de-initialization functions
 

Initialization and Configuration functions.


 IO operation functions
 

Data transfers functions.


 Peripheral State, Mode and Error functions
 

Peripheral State and Errors functions.


Functions

static HAL_StatusTypeDef I2C_MasterTransmit_TXE (I2C_HandleTypeDef *hi2c)
 Handle TXE flag for Master.
static HAL_StatusTypeDef I2C_MasterTransmit_BTF (I2C_HandleTypeDef *hi2c)
 Handle BTF flag for Master transmitter.
static HAL_StatusTypeDef I2C_MasterReceive_RXNE (I2C_HandleTypeDef *hi2c)
 Handle RXNE flag for Master.
static HAL_StatusTypeDef I2C_MasterReceive_BTF (I2C_HandleTypeDef *hi2c)
 Handle BTF flag for Master receiver.
static HAL_StatusTypeDef I2C_Master_SB (I2C_HandleTypeDef *hi2c)
 Handle SB flag for Master.
static HAL_StatusTypeDef I2C_Master_ADD10 (I2C_HandleTypeDef *hi2c)
 Handle ADD10 flag for Master.
static HAL_StatusTypeDef I2C_Master_ADDR (I2C_HandleTypeDef *hi2c)
 Handle ADDR flag for Master.
static HAL_StatusTypeDef I2C_SlaveTransmit_TXE (I2C_HandleTypeDef *hi2c)
 Handle TXE flag for Slave.
static HAL_StatusTypeDef I2C_SlaveTransmit_BTF (I2C_HandleTypeDef *hi2c)
 Handle BTF flag for Slave transmitter.
static HAL_StatusTypeDef I2C_SlaveReceive_RXNE (I2C_HandleTypeDef *hi2c)
 Handle RXNE flag for Slave.
static HAL_StatusTypeDef I2C_SlaveReceive_BTF (I2C_HandleTypeDef *hi2c)
 Handle BTF flag for Slave receiver.
static HAL_StatusTypeDef I2C_Slave_ADDR (I2C_HandleTypeDef *hi2c)
 Handle ADD flag for Slave.
static HAL_StatusTypeDef I2C_Slave_STOPF (I2C_HandleTypeDef *hi2c)
 Handle STOPF flag for Slave.
static HAL_StatusTypeDef I2C_Slave_AF (I2C_HandleTypeDef *hi2c)
static void I2C_ITError (I2C_HandleTypeDef *hi2c)
 I2C interrupts error process.
static HAL_StatusTypeDef I2C_MasterRequestWrite (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Timeout, uint32_t Tickstart)
static HAL_StatusTypeDef I2C_MasterRequestRead (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Timeout, uint32_t Tickstart)
 Master sends target device address for read request.
static HAL_StatusTypeDef I2C_RequestMemoryWrite (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart)
 Master sends target device address followed by internal memory address for write request.
static HAL_StatusTypeDef I2C_RequestMemoryRead (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart)
 Master sends target device address followed by internal memory address for read request.
static void I2C_DMAXferCplt (DMA_HandleTypeDef *hdma)
 DMA I2C process complete callback.
static void I2C_DMAError (DMA_HandleTypeDef *hdma)
 DMA I2C communication error callback.
static void I2C_DMAAbort (DMA_HandleTypeDef *hdma)
 DMA I2C communication abort callback (To be called at end of DMA Abort procedure).
static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout (I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagStatus Status, uint32_t Timeout, uint32_t Tickstart)
 This function handles I2C Communication Timeout.
static HAL_StatusTypeDef I2C_WaitOnMasterAddressFlagUntilTimeout (I2C_HandleTypeDef *hi2c, uint32_t Flag, uint32_t Timeout, uint32_t Tickstart)
 This function handles I2C Communication Timeout for Master addressing phase.
static HAL_StatusTypeDef I2C_WaitOnTXEFlagUntilTimeout (I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart)
 This function handles I2C Communication Timeout for specific usage of TXE flag.
static HAL_StatusTypeDef I2C_WaitOnBTFFlagUntilTimeout (I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart)
 This function handles I2C Communication Timeout for specific usage of BTF flag.
static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout (I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart)
 This function handles I2C Communication Timeout for specific usage of STOP flag.
static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout (I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Tickstart)
 This function handles I2C Communication Timeout for specific usage of RXNE flag.
static HAL_StatusTypeDef I2C_IsAcknowledgeFailed (I2C_HandleTypeDef *hi2c)
 This function handles Acknowledge failed detection during an I2C Communication.

Function Documentation

static void I2C_DMAAbort ( DMA_HandleTypeDef hdma) [static]
static void I2C_DMAError ( DMA_HandleTypeDef hdma) [static]
static void I2C_DMAXferCplt ( DMA_HandleTypeDef hdma) [static]
static HAL_StatusTypeDef I2C_IsAcknowledgeFailed ( I2C_HandleTypeDef hi2c) [static]

This function handles Acknowledge failed detection during an I2C Communication.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
Return values:
HALstatus

Definition at line 5462 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_FLAG, __HAL_I2C_GET_FLAG, I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_AF, HAL_I2C_STATE_READY, I2C_FLAG_AF, I2C_STATE_NONE, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::State.

Referenced by I2C_WaitOnBTFFlagUntilTimeout(), I2C_WaitOnSTOPFlagUntilTimeout(), and I2C_WaitOnTXEFlagUntilTimeout().

static void I2C_ITError ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_Master_ADD10 ( I2C_HandleTypeDef hi2c) [static]

Handle ADD10 flag for Master.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Return values:
HALstatus

Definition at line 4121 of file stm32f4xx_hal_i2c.c.

References I2C_HandleTypeDef::Devaddress, I2C_10BIT_ADDRESS, and I2C_HandleTypeDef::Instance.

Referenced by HAL_I2C_EV_IRQHandler().

static HAL_StatusTypeDef I2C_Master_ADDR ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_Master_SB ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_MasterReceive_BTF ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_MasterReceive_RXNE ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_MasterRequestRead ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

Master sends target device address for read request.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
DevAddressTarget device address The device 7 bits address value in datasheet must be shifted to the left before calling the interface
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 4765 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, I2C_InitTypeDef::AddressingMode, I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_AF, I2C_10BIT_ADDRESS, I2C_10BIT_HEADER_READ, I2C_10BIT_HEADER_WRITE, I2C_7BIT_ADD_READ, I2C_ADDRESSINGMODE_7BIT, I2C_FIRST_AND_LAST_FRAME, I2C_FIRST_FRAME, I2C_FLAG_ADD10, I2C_FLAG_ADDR, I2C_FLAG_SB, I2C_NO_OPTION_FRAME, I2C_STATE_MASTER_BUSY_TX, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnMasterAddressFlagUntilTimeout(), I2C_HandleTypeDef::Init, I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::XferOptions.

Referenced by HAL_I2C_Master_Receive().

static HAL_StatusTypeDef I2C_MasterRequestWrite ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
DevAddressTarget device address The device 7 bits address value in datasheet must be shifted to the left before calling the interface
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 4689 of file stm32f4xx_hal_i2c.c.

References I2C_InitTypeDef::AddressingMode, I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_AF, I2C_10BIT_ADDRESS, I2C_10BIT_HEADER_WRITE, I2C_7BIT_ADD_WRITE, I2C_ADDRESSINGMODE_7BIT, I2C_FIRST_AND_LAST_FRAME, I2C_FIRST_FRAME, I2C_FLAG_ADD10, I2C_FLAG_ADDR, I2C_FLAG_SB, I2C_NO_OPTION_FRAME, I2C_STATE_MASTER_BUSY_RX, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnMasterAddressFlagUntilTimeout(), I2C_HandleTypeDef::Init, I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::XferOptions.

Referenced by HAL_I2C_Master_Transmit().

static HAL_StatusTypeDef I2C_MasterTransmit_BTF ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_MasterTransmit_TXE ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_RequestMemoryRead ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

Master sends target device address followed by internal memory address for read request.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
DevAddressTarget device address
MemAddressInternal memory address
MemAddSizeSize of internal memory address
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 4963 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_AF, I2C_7BIT_ADD_READ, I2C_7BIT_ADD_WRITE, I2C_FLAG_ADDR, I2C_FLAG_SB, I2C_MEM_ADD_LSB, I2C_MEM_ADD_MSB, I2C_MEMADD_SIZE_8BIT, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnMasterAddressFlagUntilTimeout(), I2C_WaitOnTXEFlagUntilTimeout(), and I2C_HandleTypeDef::Instance.

Referenced by HAL_I2C_Mem_Read(), and HAL_I2C_Mem_Read_DMA().

static HAL_StatusTypeDef I2C_RequestMemoryWrite ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

Master sends target device address followed by internal memory address for write request.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
DevAddressTarget device address
MemAddressInternal memory address
MemAddSizeSize of internal memory address
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 4873 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_AF, I2C_7BIT_ADD_WRITE, I2C_FLAG_ADDR, I2C_FLAG_SB, I2C_MEM_ADD_LSB, I2C_MEM_ADD_MSB, I2C_MEMADD_SIZE_8BIT, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnMasterAddressFlagUntilTimeout(), I2C_WaitOnTXEFlagUntilTimeout(), and I2C_HandleTypeDef::Instance.

Referenced by HAL_I2C_Mem_Write(), and HAL_I2C_Mem_Write_DMA().

static HAL_StatusTypeDef I2C_Slave_ADDR ( I2C_HandleTypeDef hi2c) [static]

Handle ADD flag for Slave.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Return values:
HALstatus

Definition at line 4382 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_GET_FLAG, HAL_I2C_AddrCallback(), I2C_DIRECTION_RECEIVE, I2C_DIRECTION_TRANSMIT, I2C_FLAG_DUALF, I2C_FLAG_TRA, I2C_HandleTypeDef::Init, I2C_InitTypeDef::OwnAddress1, and I2C_InitTypeDef::OwnAddress2.

Referenced by HAL_I2C_EV_IRQHandler().

static HAL_StatusTypeDef I2C_Slave_AF ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_Slave_STOPF ( I2C_HandleTypeDef hi2c) [static]
static HAL_StatusTypeDef I2C_SlaveReceive_BTF ( I2C_HandleTypeDef hi2c) [static]

Handle BTF flag for Slave receiver.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Return values:
HALstatus

Definition at line 4365 of file stm32f4xx_hal_i2c.c.

References I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::pBuffPtr, and I2C_HandleTypeDef::XferCount.

Referenced by HAL_I2C_EV_IRQHandler().

static HAL_StatusTypeDef I2C_SlaveReceive_RXNE ( I2C_HandleTypeDef hi2c) [static]

Handle RXNE flag for Slave.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Return values:
HALstatus

Definition at line 4332 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_DISABLE_IT, HAL_I2C_SlaveRxCpltCallback(), HAL_I2C_STATE_BUSY_RX_LISTEN, HAL_I2C_STATE_LISTEN, I2C_IT_BUF, I2C_STATE_SLAVE_BUSY_RX, I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::pBuffPtr, I2C_HandleTypeDef::PreviousState, I2C_HandleTypeDef::State, and I2C_HandleTypeDef::XferCount.

Referenced by HAL_I2C_EV_IRQHandler().

static HAL_StatusTypeDef I2C_SlaveTransmit_BTF ( I2C_HandleTypeDef hi2c) [static]

Handle BTF flag for Slave transmitter.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Return values:
HALstatus

Definition at line 4315 of file stm32f4xx_hal_i2c.c.

References I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::pBuffPtr, and I2C_HandleTypeDef::XferCount.

Referenced by HAL_I2C_EV_IRQHandler().

static HAL_StatusTypeDef I2C_SlaveTransmit_TXE ( I2C_HandleTypeDef hi2c) [static]

Handle TXE flag for Slave.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Return values:
HALstatus

Definition at line 4282 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_DISABLE_IT, HAL_I2C_SlaveTxCpltCallback(), HAL_I2C_STATE_BUSY_TX_LISTEN, HAL_I2C_STATE_LISTEN, I2C_IT_BUF, I2C_STATE_SLAVE_BUSY_TX, I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::pBuffPtr, I2C_HandleTypeDef::PreviousState, I2C_HandleTypeDef::State, and I2C_HandleTypeDef::XferCount.

Referenced by HAL_I2C_EV_IRQHandler().

static HAL_StatusTypeDef I2C_WaitOnBTFFlagUntilTimeout ( I2C_HandleTypeDef hi2c,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

This function handles I2C Communication Timeout for specific usage of BTF flag.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 5349 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_GET_FLAG, I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_TIMEOUT, HAL_I2C_STATE_READY, I2C_FLAG_BTF, I2C_IsAcknowledgeFailed(), I2C_STATE_NONE, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::State.

Referenced by HAL_I2C_Master_Transmit(), and HAL_I2C_Mem_Write().

static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout ( I2C_HandleTypeDef hi2c,
uint32_t  Flag,
FlagStatus  Status,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

This function handles I2C Communication Timeout.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Flagspecifies the I2C flag to check.
StatusThe new Flag status (SET or RESET).
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 5230 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_GET_FLAG, HAL_GetTick(), HAL_I2C_MODE_NONE, HAL_I2C_STATE_READY, I2C_STATE_NONE, I2C_HandleTypeDef::Mode, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::State.

Referenced by HAL_I2C_IsDeviceReady(), HAL_I2C_Master_Receive(), HAL_I2C_Master_Transmit(), HAL_I2C_Mem_Read(), HAL_I2C_Mem_Write(), HAL_I2C_Slave_Receive(), HAL_I2C_Slave_Transmit(), I2C_MasterRequestRead(), I2C_MasterRequestWrite(), I2C_RequestMemoryRead(), and I2C_RequestMemoryWrite().

static HAL_StatusTypeDef I2C_WaitOnMasterAddressFlagUntilTimeout ( I2C_HandleTypeDef hi2c,
uint32_t  Flag,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

This function handles I2C Communication Timeout for Master addressing phase.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for I2C module
Flagspecifies the I2C flag to check.
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 5264 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_FLAG, __HAL_I2C_GET_FLAG, I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_AF, HAL_I2C_STATE_READY, I2C_FLAG_AF, I2C_STATE_NONE, I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::State.

Referenced by I2C_MasterRequestRead(), I2C_MasterRequestWrite(), I2C_RequestMemoryRead(), and I2C_RequestMemoryWrite().

static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout ( I2C_HandleTypeDef hi2c,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

This function handles I2C Communication Timeout for specific usage of RXNE flag.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 5420 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_FLAG, __HAL_I2C_GET_FLAG, I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_STATE_READY, I2C_FLAG_RXNE, I2C_FLAG_STOPF, I2C_STATE_NONE, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::State.

Referenced by HAL_I2C_Master_Receive(), HAL_I2C_Mem_Read(), and HAL_I2C_Slave_Receive().

static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout ( I2C_HandleTypeDef hi2c,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

This function handles I2C Communication Timeout for specific usage of STOP flag.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 5386 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_GET_FLAG, I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_TIMEOUT, HAL_I2C_STATE_READY, I2C_FLAG_STOPF, I2C_IsAcknowledgeFailed(), I2C_STATE_NONE, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::State.

Referenced by HAL_I2C_Slave_Receive().

static HAL_StatusTypeDef I2C_WaitOnTXEFlagUntilTimeout ( I2C_HandleTypeDef hi2c,
uint32_t  Timeout,
uint32_t  Tickstart 
) [static]

This function handles I2C Communication Timeout for specific usage of TXE flag.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
TimeoutTimeout duration
TickstartTick start value
Return values:
HALstatus

Definition at line 5312 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_GET_FLAG, I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_TIMEOUT, HAL_I2C_STATE_READY, I2C_FLAG_TXE, I2C_IsAcknowledgeFailed(), I2C_STATE_NONE, I2C_HandleTypeDef::PreviousState, and I2C_HandleTypeDef::State.

Referenced by HAL_I2C_Master_Transmit(), HAL_I2C_Mem_Write(), HAL_I2C_Slave_Transmit(), I2C_RequestMemoryRead(), and I2C_RequestMemoryWrite().