STM32F103xB HAL User Manual
Functions
Input and Output operation functions
I2C Exported Functions

Data transfers functions. More...

Functions

HAL_StatusTypeDef HAL_I2C_Master_Transmit (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Transmits in master mode an amount of data in blocking mode.
HAL_StatusTypeDef HAL_I2C_Master_Receive (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Receives in master mode an amount of data in blocking mode.
HAL_StatusTypeDef HAL_I2C_Slave_Transmit (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Transmits in slave mode an amount of data in blocking mode.
HAL_StatusTypeDef HAL_I2C_Slave_Receive (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Receive in slave mode an amount of data in blocking mode.
HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)
 Transmit in master mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Master_Receive_IT (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)
 Receive in master mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
 Transmit in slave mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
 Receive in slave mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)
 Transmit in master mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)
 Receive in master mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
 Transmit in slave mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
 Receive in slave mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_Mem_Write (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Write an amount of data in blocking mode to a specific memory address.
HAL_StatusTypeDef HAL_I2C_Mem_Read (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Read an amount of data in blocking mode from a specific memory address.
HAL_StatusTypeDef HAL_I2C_Mem_Write_IT (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
 Write an amount of data in non-blocking mode with Interrupt to a specific memory address.
HAL_StatusTypeDef HAL_I2C_Mem_Read_IT (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
 Read an amount of data in non-blocking mode with Interrupt from a specific memory address.
HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
 Write an amount of data in non-blocking mode with DMA to a specific memory address.
HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size)
 Reads an amount of data in non-blocking mode with DMA from a specific memory address.
HAL_StatusTypeDef HAL_I2C_IsDeviceReady (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout)
 Checks if target device is ready for communication.
HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in master I2C mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in master I2C mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in master mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in slave mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in slave mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in slave mode an amount of data in non-blocking mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA (I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in slave mode an amount of data in non-blocking mode with DMA.
HAL_StatusTypeDef HAL_I2C_EnableListen_IT (I2C_HandleTypeDef *hi2c)
 Enable the Address listen mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_DisableListen_IT (I2C_HandleTypeDef *hi2c)
 Disable the Address listen mode with Interrupt.
HAL_StatusTypeDef HAL_I2C_Master_Abort_IT (I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
 Abort a master I2C IT or DMA process communication with Interrupt.

Detailed Description

Data transfers functions.

 ===============================================================================
                      ##### IO operation functions #####
 ===============================================================================
    [..]
    This subsection provides a set of functions allowing to manage the I2C data
    transfers.

    (#) There are two modes of transfer:
       (++) Blocking mode : The communication is performed in the polling mode.
            The status of all data processing is returned by the same function
            after finishing transfer.
       (++) No-Blocking mode : The communication is performed using Interrupts
            or DMA. These functions return the status of the transfer startup.
            The end of the data processing will be indicated through the
            dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
            using DMA mode.

    (#) Blocking mode functions are :
        (++) HAL_I2C_Master_Transmit()
        (++) HAL_I2C_Master_Receive()
        (++) HAL_I2C_Slave_Transmit()
        (++) HAL_I2C_Slave_Receive()
        (++) HAL_I2C_Mem_Write()
        (++) HAL_I2C_Mem_Read()
        (++) HAL_I2C_IsDeviceReady()

    (#) No-Blocking mode functions with Interrupt are :
        (++) HAL_I2C_Master_Transmit_IT()
        (++) HAL_I2C_Master_Receive_IT()
        (++) HAL_I2C_Slave_Transmit_IT()
        (++) HAL_I2C_Slave_Receive_IT()
        (++) HAL_I2C_Mem_Write_IT()
        (++) HAL_I2C_Mem_Read_IT()
        (++) HAL_I2C_Master_Seq_Transmit_IT()
        (++) HAL_I2C_Master_Seq_Receive_IT()
        (++) HAL_I2C_Slave_Seq_Transmit_IT()
        (++) HAL_I2C_Slave_Seq_Receive_IT()
        (++) HAL_I2C_EnableListen_IT()
        (++) HAL_I2C_DisableListen_IT()
        (++) HAL_I2C_Master_Abort_IT()

    (#) No-Blocking mode functions with DMA are :
        (++) HAL_I2C_Master_Transmit_DMA()
        (++) HAL_I2C_Master_Receive_DMA()
        (++) HAL_I2C_Slave_Transmit_DMA()
        (++) HAL_I2C_Slave_Receive_DMA()
        (++) HAL_I2C_Mem_Write_DMA()
        (++) HAL_I2C_Mem_Read_DMA()
        (++) HAL_I2C_Master_Seq_Transmit_DMA()
        (++) HAL_I2C_Master_Seq_Receive_DMA()
        (++) HAL_I2C_Slave_Seq_Transmit_DMA()
        (++) HAL_I2C_Slave_Seq_Receive_DMA()

    (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
        (++) HAL_I2C_MasterTxCpltCallback()
        (++) HAL_I2C_MasterRxCpltCallback()
        (++) HAL_I2C_SlaveTxCpltCallback()
        (++) HAL_I2C_SlaveRxCpltCallback()
        (++) HAL_I2C_MemTxCpltCallback()
        (++) HAL_I2C_MemRxCpltCallback()
        (++) HAL_I2C_AddrCallback()
        (++) HAL_I2C_ListenCpltCallback()
        (++) HAL_I2C_ErrorCallback()
        (++) HAL_I2C_AbortCpltCallback()


Function Documentation

HAL_StatusTypeDef HAL_I2C_DisableListen_IT ( I2C_HandleTypeDef hi2c)

Disable the Address listen mode with Interrupt.

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

Definition at line 4782 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_DISABLE_IT, HAL_I2C_MODE_NONE, HAL_I2C_STATE_LISTEN, HAL_I2C_STATE_READY, I2C_IT_ERR, I2C_IT_EVT, I2C_STATE_MSK, __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::PreviousState, and __I2C_HandleTypeDef::State.

HAL_StatusTypeDef HAL_I2C_EnableListen_IT ( I2C_HandleTypeDef hi2c)

Enable the Address listen mode with Interrupt.

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

Definition at line 4749 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, HAL_I2C_STATE_LISTEN, HAL_I2C_STATE_READY, I2C_IT_ERR, I2C_IT_EVT, __I2C_HandleTypeDef::Instance, and __I2C_HandleTypeDef::State.

HAL_StatusTypeDef HAL_I2C_IsDeviceReady ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint32_t  Trials,
uint32_t  Timeout 
)

Checks if target device is ready for communication.

Note:
This function is used with Memory devices
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
TrialsNumber of trials
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 3514 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_CLEAR_FLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_NONE, HAL_I2C_STATE_BUSY, HAL_I2C_STATE_READY, HAL_I2C_STATE_TIMEOUT, HAL_I2C_WRONG_START, I2C_7BIT_ADD_WRITE, I2C_FLAG_ADDR, I2C_FLAG_AF, I2C_FLAG_BUSY, I2C_FLAG_SB, I2C_NO_OPTION_FRAME, I2C_TIMEOUT_BUSY_FLAG, I2C_WaitOnFlagUntilTimeout(), __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::State, and __I2C_HandleTypeDef::XferOptions.

HAL_StatusTypeDef HAL_I2C_Master_Abort_IT ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress 
)

Abort a master I2C IT or DMA process communication with Interrupt.

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

Definition at line 4817 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_DISABLE_IT, __HAL_I2C_GET_FLAG, HAL_I2C_MODE_MASTER, HAL_I2C_STATE_ABORT, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_ITError(), I2C_STATE_NONE, __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, and __I2C_HandleTypeDef::XferCount.

HAL_StatusTypeDef HAL_I2C_Master_Receive ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  Timeout 
)

Receives in master mode an amount of data in blocking mode.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 1171 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, I2C_FLAG_BTF, I2C_FLAG_BUSY, I2C_MasterRequestRead(), I2C_NO_OPTION_FRAME, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, I2C_TIMEOUT_FLAG, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnRXNEFlagUntilTimeout(), __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size 
)
HAL_StatusTypeDef HAL_I2C_Master_Receive_IT ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size 
)

Receive in master mode an amount of data in non-blocking mode with Interrupt.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
Return values:
HALstatus

Definition at line 1793 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_NO_OPTION_FRAME, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Sequential receive in master mode an amount of data in non-blocking mode with DMA.

Note:
This interface allow to manage repeated start condition when a direction change during transfer
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values:
HALstatus

Definition at line 4055 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, HAL_DMA_Start_IT(), HAL_I2C_ERROR_DMA, HAL_I2C_ERROR_DMA_PARAM, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, __I2C_HandleTypeDef::hdmarx, I2C_DMAError(), I2C_DMAXferCplt(), I2C_FIRST_AND_LAST_FRAME, I2C_FIRST_FRAME, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_LAST_FRAME, I2C_LAST_FRAME_NO_STOP, I2C_NEXT_FRAME, I2C_OTHER_AND_LAST_FRAME, I2C_STATE_MASTER_BUSY_RX, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Sequential receive in master I2C mode an amount of data in non-blocking mode with Interrupt.

Note:
This interface allow to manage repeated start condition when a direction change during transfer
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values:
HALstatus

Definition at line 3931 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, I2C_FIRST_AND_LAST_FRAME, I2C_FIRST_FRAME, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_LAST_FRAME, I2C_LAST_FRAME_NO_STOP, I2C_STATE_MASTER_BUSY_RX, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.

Note:
This interface allow to manage repeated start condition when a direction change during transfer
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values:
HALstatus

Definition at line 3748 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, HAL_DMA_Start_IT(), HAL_I2C_ERROR_DMA, HAL_I2C_ERROR_DMA_PARAM, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, __I2C_HandleTypeDef::hdmatx, I2C_DMAError(), I2C_DMAXferCplt(), I2C_FIRST_AND_LAST_FRAME, I2C_FIRST_FRAME, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_LAST_FRAME, I2C_LAST_FRAME_NO_STOP, I2C_NEXT_FRAME, I2C_STATE_MASTER_BUSY_TX, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Sequential transmit in master I2C mode an amount of data in non-blocking mode with Interrupt.

Note:
This interface allow to manage repeated start condition when a direction change during transfer
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values:
HALstatus

Definition at line 3650 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, I2C_FIRST_AND_LAST_FRAME, I2C_FIRST_FRAME, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_STATE_MASTER_BUSY_TX, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Master_Transmit ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  Timeout 
)

Transmits in master mode an amount of data in blocking mode.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 1050 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_AF, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, I2C_FLAG_BTF, I2C_FLAG_BUSY, I2C_MasterRequestWrite(), I2C_NO_OPTION_FRAME, I2C_TIMEOUT_BUSY_FLAG, I2C_WaitOnBTFFlagUntilTimeout(), I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnTXEFlagUntilTimeout(), __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size 
)
HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size 
)

Transmit in master mode an amount of data in non-blocking mode with Interrupt.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
Return values:
HALstatus

Definition at line 1713 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_NO_OPTION_FRAME, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Mem_Read ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint8_t *  pData,
uint16_t  Size,
uint32_t  Timeout 
)

Read an amount of data in blocking mode from a specific memory address.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
MemAddressInternal memory address
MemAddSizeSize of internal memory address
pDataPointer to data buffer
SizeAmount of data to be sent
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 2664 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MEM, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, I2C_FLAG_BTF, I2C_FLAG_BUSY, I2C_NO_OPTION_FRAME, I2C_RequestMemoryRead(), I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, I2C_TIMEOUT_FLAG, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnRXNEFlagUntilTimeout(), __I2C_HandleTypeDef::Instance, IS_I2C_MEMADD_SIZE, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint8_t *  pData,
uint16_t  Size 
)

Reads an amount of data in non-blocking mode with DMA from a specific memory address.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
MemAddressInternal memory address
MemAddSizeSize of internal memory address
pDataPointer to data buffer
SizeAmount of data to be read
Return values:
HALstatus

Definition at line 3321 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_DISABLE, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::ErrorCode, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_GetTick(), HAL_I2C_ERROR_DMA, HAL_I2C_ERROR_DMA_PARAM, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MEM, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, __I2C_HandleTypeDef::hdmarx, I2C_DMAError(), I2C_DMAXferCplt(), I2C_FLAG_BUSY, I2C_IT_ERR, I2C_NO_OPTION_FRAME, I2C_RequestMemoryRead(), I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, I2C_TIMEOUT_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_MEMADD_SIZE, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Mem_Read_IT ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint8_t *  pData,
uint16_t  Size 
)

Read an amount of data in non-blocking mode with Interrupt from a specific memory address.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address
MemAddressInternal memory address
MemAddSizeSize of internal memory address
pDataPointer to data buffer
SizeAmount of data to be sent
Return values:
HALstatus

Definition at line 3048 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, __I2C_HandleTypeDef::EventCount, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MEM, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_NO_OPTION_FRAME, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_MEMADD_SIZE, __I2C_HandleTypeDef::Memaddress, __I2C_HandleTypeDef::MemaddSize, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Mem_Write ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint8_t *  pData,
uint16_t  Size,
uint32_t  Timeout 
)

Write an amount of data in blocking mode to a specific memory address.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
MemAddressInternal memory address
MemAddSizeSize of internal memory address
pDataPointer to data buffer
SizeAmount of data to be sent
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 2541 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_I2C_ERROR_AF, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_MEM, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, I2C_FLAG_BTF, I2C_FLAG_BUSY, I2C_NO_OPTION_FRAME, I2C_RequestMemoryWrite(), I2C_TIMEOUT_BUSY_FLAG, I2C_WaitOnBTFFlagUntilTimeout(), I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnTXEFlagUntilTimeout(), __I2C_HandleTypeDef::Instance, IS_I2C_MEMADD_SIZE, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint8_t *  pData,
uint16_t  Size 
)

Write an amount of data in non-blocking mode with DMA to a specific memory address.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
MemAddressInternal memory address
MemAddSizeSize of internal memory address
pDataPointer to data buffer
SizeAmount of data to be sent
Return values:
HALstatus

Definition at line 3142 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_DISABLE, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::ErrorCode, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_GetTick(), HAL_I2C_ERROR_DMA, HAL_I2C_ERROR_DMA_PARAM, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_SIZE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MEM, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, __I2C_HandleTypeDef::hdmatx, I2C_DMAError(), I2C_DMAXferCplt(), I2C_FLAG_BUSY, I2C_IT_ERR, I2C_NO_OPTION_FRAME, I2C_RequestMemoryWrite(), I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, I2C_TIMEOUT_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_MEMADD_SIZE, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Mem_Write_IT ( I2C_HandleTypeDef hi2c,
uint16_t  DevAddress,
uint16_t  MemAddress,
uint16_t  MemAddSize,
uint8_t *  pData,
uint16_t  Size 
)

Write an amount of data in non-blocking mode with Interrupt to a specific memory address.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
DevAddressTarget device address: The device 7 bits address value in datasheet must be shifted to the left before calling the interface
MemAddressInternal memory address
MemAddSizeSize of internal memory address
pDataPointer to data buffer
SizeAmount of data to be sent
Return values:
HALstatus

Definition at line 2960 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, assert_param, __I2C_HandleTypeDef::Devaddress, __I2C_HandleTypeDef::ErrorCode, __I2C_HandleTypeDef::EventCount, HAL_I2C_ERROR_NONE, HAL_I2C_ERROR_TIMEOUT, HAL_I2C_MODE_MEM, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, I2C_FLAG_BUSY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_NO_OPTION_FRAME, I2C_STATE_NONE, I2C_TIMEOUT_BUSY_FLAG, __I2C_HandleTypeDef::Instance, IS_I2C_MEMADD_SIZE, __I2C_HandleTypeDef::Memaddress, __I2C_HandleTypeDef::MemaddSize, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::PreviousState, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Slave_Receive ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size,
uint32_t  Timeout 
)
HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size 
)
HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size 
)

Receive in slave mode an amount of data in non-blocking mode with Interrupt.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
pDataPointer to data buffer
SizeAmount of data to be sent
Return values:
HALstatus

Definition at line 1938 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_NO_OPTION_FRAME, __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)
HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Sequential receive in slave mode an amount of data in non-blocking mode with Interrupt.

Note:
This interface allow to manage repeated start condition when a direction change during transfer
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values:
HALstatus

Definition at line 4513 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, assert_param, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_RX_LISTEN, HAL_I2C_STATE_LISTEN, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, __I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)
HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Sequential transmit in slave mode an amount of data in non-blocking mode with Interrupt.

Note:
This interface allow to manage repeated start condition when a direction change during transfer
Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values:
HALstatus

Definition at line 4273 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, assert_param, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_TX_LISTEN, HAL_I2C_STATE_LISTEN, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, __I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_I2C_Slave_Transmit ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size,
uint32_t  Timeout 
)
HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size 
)
HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT ( I2C_HandleTypeDef hi2c,
uint8_t *  pData,
uint16_t  Size 
)

Transmit in slave mode an amount of data in non-blocking mode with Interrupt.

Parameters:
hi2cPointer to a I2C_HandleTypeDef structure that contains the configuration information for the specified I2C.
pDataPointer to data buffer
SizeAmount of data to be sent
Return values:
HALstatus

Definition at line 1876 of file stm32f1xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __I2C_HandleTypeDef::ErrorCode, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, I2C_IT_BUF, I2C_IT_ERR, I2C_IT_EVT, I2C_NO_OPTION_FRAME, __I2C_HandleTypeDef::Instance, __I2C_HandleTypeDef::Mode, __I2C_HandleTypeDef::pBuffPtr, __I2C_HandleTypeDef::State, __I2C_HandleTypeDef::XferCount, __I2C_HandleTypeDef::XferOptions, and __I2C_HandleTypeDef::XferSize.