STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
Input and Output operation functions

Data transfers functions. More...

Collaboration diagram for Input and Output operation functions:

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_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_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_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_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_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_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_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_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_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 or memory I2C IT or DMA process communication 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_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_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_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_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_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.
 

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_I2C_Master_Transmit()

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

#include <stm32f4xx_hal_i2c.h>

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 1056 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, 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, HAL_OK, 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_I2C_Master_Receive()

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

#include <stm32f4xx_hal_i2c.h>

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 1177 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_GetTick(), HAL_I2C_ERROR_NONE, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, HAL_OK, I2C_FLAG_BTF, I2C_FLAG_BUSY, I2C_MasterRequestRead(), I2C_NO_OPTION_FRAME, I2C_TIMEOUT_BUSY_FLAG, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnRXNEFlagUntilTimeout(), I2C_HandleTypeDef::Instance, I2C_HandleTypeDef::Mode, I2C_HandleTypeDef::pBuffPtr, I2C_HandleTypeDef::State, I2C_HandleTypeDef::XferCount, I2C_HandleTypeDef::XferOptions, and I2C_HandleTypeDef::XferSize.

◆ HAL_I2C_Slave_Transmit()

◆ HAL_I2C_Slave_Receive()

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

◆ HAL_I2C_Mem_Write()

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 )

#include <stm32f4xx_hal_i2c.h>

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 2503 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, 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, HAL_OK, 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_I2C_Mem_Read()

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 )

#include <stm32f4xx_hal_i2c.h>

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 2626 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_GetTick(), HAL_I2C_ERROR_NONE, HAL_I2C_MODE_MEM, HAL_I2C_MODE_NONE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, HAL_OK, I2C_FLAG_BTF, I2C_FLAG_BUSY, I2C_NO_OPTION_FRAME, I2C_RequestMemoryRead(), I2C_TIMEOUT_BUSY_FLAG, I2C_WaitOnFlagUntilTimeout(), I2C_WaitOnRXNEFlagUntilTimeout(), 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_I2C_IsDeviceReady()

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

#include <stm32f4xx_hal_i2c.h>

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 3432 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_CLEAR_FLAG, __HAL_I2C_ENABLE, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_GetTick(), HAL_I2C_ERROR_NONE, HAL_I2C_STATE_BUSY, HAL_I2C_STATE_READY, HAL_I2C_STATE_TIMEOUT, HAL_I2C_WRONG_START, HAL_OK, HAL_TIMEOUT, 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_I2C_Master_Transmit_IT()

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

#include <stm32f4xx_hal_i2c.h>

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 1679 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, 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, HAL_OK, 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_I2C_Master_Receive_IT()

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

#include <stm32f4xx_hal_i2c.h>

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 1756 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, 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, HAL_OK, 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_I2C_Slave_Transmit_IT()

HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT ( I2C_HandleTypeDef * hi2c,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_i2c.h>

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 1836 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_TX, HAL_I2C_STATE_READY, HAL_OK, 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_I2C_Slave_Receive_IT()

HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT ( I2C_HandleTypeDef * hi2c,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_i2c.h>

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 1898 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_RX, HAL_I2C_STATE_READY, HAL_OK, 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_I2C_Mem_Write_IT()

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 )

#include <stm32f4xx_hal_i2c.h>

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 2878 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, I2C_HandleTypeDef::EventCount, HAL_BUSY, 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, HAL_OK, 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_I2C_Mem_Read_IT()

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 )

#include <stm32f4xx_hal_i2c.h>

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 2963 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, I2C_HandleTypeDef::EventCount, HAL_BUSY, 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, HAL_OK, 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_I2C_Master_Seq_Transmit_IT()

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

#include <stm32f4xx_hal_i2c.h>

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 3568 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, 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, HAL_OK, 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_I2C_Master_Seq_Receive_IT()

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

#include <stm32f4xx_hal_i2c.h>

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 3843 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, 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, HAL_OK, 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_I2C_Slave_Seq_Transmit_IT()

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

#include <stm32f4xx_hal_i2c.h>

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 4179 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_TX_LISTEN, HAL_I2C_STATE_LISTEN, HAL_OK, 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_I2C_Slave_Seq_Receive_IT()

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

#include <stm32f4xx_hal_i2c.h>

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 4419 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_ERROR, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_RX_LISTEN, HAL_I2C_STATE_LISTEN, HAL_OK, 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_I2C_EnableListen_IT()

HAL_StatusTypeDef HAL_I2C_EnableListen_IT ( I2C_HandleTypeDef * hi2c)

#include <stm32f4xx_hal_i2c.h>

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 4655 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, HAL_BUSY, HAL_I2C_STATE_LISTEN, HAL_I2C_STATE_READY, HAL_OK, I2C_IT_ERR, I2C_IT_EVT, I2C_HandleTypeDef::Instance, and I2C_HandleTypeDef::State.

◆ HAL_I2C_DisableListen_IT()

HAL_StatusTypeDef HAL_I2C_DisableListen_IT ( I2C_HandleTypeDef * hi2c)

#include <stm32f4xx_hal_i2c.h>

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 4688 of file stm32f4xx_hal_i2c.c.

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

◆ HAL_I2C_Master_Abort_IT()

HAL_StatusTypeDef HAL_I2C_Master_Abort_IT ( I2C_HandleTypeDef * hi2c,
uint16_t DevAddress )

#include <stm32f4xx_hal_i2c.h>

Abort a master or memory 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 4723 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_DISABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, HAL_ERROR, HAL_I2C_MODE_MASTER, HAL_I2C_MODE_MEM, HAL_I2C_STATE_ABORT, HAL_OK, 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, UNUSED, and I2C_HandleTypeDef::XferCount.

◆ HAL_I2C_Master_Transmit_DMA()

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

#include <stm32f4xx_hal_i2c.h>

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

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 1962 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, 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, HAL_OK, I2C_HandleTypeDef::hdmatx, I2C_DMAError(), I2C_DMAXferCplt(), 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, __DMA_HandleTypeDef::XferAbortCallback, I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __DMA_HandleTypeDef::XferM1CpltCallback, __DMA_HandleTypeDef::XferM1HalfCpltCallback, I2C_HandleTypeDef::XferOptions, and I2C_HandleTypeDef::XferSize.

◆ HAL_I2C_Master_Receive_DMA()

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

#include <stm32f4xx_hal_i2c.h>

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

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 2117 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, 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, HAL_OK, I2C_HandleTypeDef::hdmarx, I2C_DMAError(), I2C_DMAXferCplt(), 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, __DMA_HandleTypeDef::XferAbortCallback, I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __DMA_HandleTypeDef::XferM1CpltCallback, __DMA_HandleTypeDef::XferM1HalfCpltCallback, I2C_HandleTypeDef::XferOptions, and I2C_HandleTypeDef::XferSize.

◆ HAL_I2C_Slave_Transmit_DMA()

◆ HAL_I2C_Slave_Receive_DMA()

◆ HAL_I2C_Mem_Write_DMA()

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 )

#include <stm32f4xx_hal_i2c.h>

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 3054 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_DISABLE, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, I2C_HandleTypeDef::EventCount, HAL_BUSY, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_ERROR, 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, HAL_OK, 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::Memaddress, I2C_HandleTypeDef::MemaddSize, I2C_HandleTypeDef::Mode, I2C_HandleTypeDef::pBuffPtr, I2C_HandleTypeDef::PreviousState, I2C_HandleTypeDef::State, UNUSED, __DMA_HandleTypeDef::XferAbortCallback, I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __DMA_HandleTypeDef::XferM1CpltCallback, __DMA_HandleTypeDef::XferM1HalfCpltCallback, I2C_HandleTypeDef::XferOptions, and I2C_HandleTypeDef::XferSize.

◆ HAL_I2C_Mem_Read_DMA()

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 )

#include <stm32f4xx_hal_i2c.h>

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 3236 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_DISABLE, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, I2C_HandleTypeDef::EventCount, HAL_BUSY, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_ERROR, 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, HAL_OK, 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::Memaddress, I2C_HandleTypeDef::MemaddSize, I2C_HandleTypeDef::Mode, I2C_HandleTypeDef::pBuffPtr, I2C_HandleTypeDef::PreviousState, I2C_HandleTypeDef::State, UNUSED, __DMA_HandleTypeDef::XferAbortCallback, I2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __DMA_HandleTypeDef::XferM1CpltCallback, __DMA_HandleTypeDef::XferM1HalfCpltCallback, I2C_HandleTypeDef::XferOptions, and I2C_HandleTypeDef::XferSize.

◆ HAL_I2C_Master_Seq_Transmit_DMA()

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

#include <stm32f4xx_hal_i2c.h>

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 3663 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, 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, HAL_OK, 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_I2C_Master_Seq_Receive_DMA()

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

#include <stm32f4xx_hal_i2c.h>

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 3964 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_I2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::Devaddress, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, 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, HAL_OK, 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_I2C_Slave_Seq_Transmit_DMA()

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

#include <stm32f4xx_hal_i2c.h>

Sequential transmit in slave 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.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values
HALstatus

Definition at line 4245 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_DISABLE_IT, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_ERROR, HAL_I2C_ERROR_DMA, HAL_I2C_ERROR_DMA_PARAM, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_RX_LISTEN, HAL_I2C_STATE_BUSY_TX_LISTEN, HAL_I2C_STATE_LISTEN, HAL_I2C_STATE_READY, HAL_OK, I2C_HandleTypeDef::hdmarx, I2C_HandleTypeDef::hdmatx, I2C_DMAAbort(), I2C_DMAError(), I2C_DMAXferCplt(), I2C_IT_ERR, I2C_IT_EVT, I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, I2C_HandleTypeDef::Mode, I2C_HandleTypeDef::pBuffPtr, 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_I2C_Slave_Seq_Receive_DMA()

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

#include <stm32f4xx_hal_i2c.h>

Sequential receive in slave 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.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of I2C XferOptions definition
Return values
HALstatus

Definition at line 4485 of file stm32f4xx_hal_i2c.c.

References __HAL_I2C_CLEAR_ADDRFLAG, __HAL_I2C_DISABLE_IT, __HAL_I2C_ENABLE, __HAL_I2C_ENABLE_IT, __HAL_LOCK, __HAL_UNLOCK, assert_param, I2C_HandleTypeDef::ErrorCode, HAL_BUSY, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_ERROR, HAL_I2C_ERROR_DMA, HAL_I2C_ERROR_DMA_PARAM, HAL_I2C_ERROR_NONE, HAL_I2C_MODE_NONE, HAL_I2C_MODE_SLAVE, HAL_I2C_STATE_BUSY_RX_LISTEN, HAL_I2C_STATE_BUSY_TX_LISTEN, HAL_I2C_STATE_LISTEN, HAL_I2C_STATE_READY, HAL_OK, I2C_HandleTypeDef::hdmarx, I2C_HandleTypeDef::hdmatx, I2C_DMAAbort(), I2C_DMAError(), I2C_DMAXferCplt(), I2C_IT_ERR, I2C_IT_EVT, I2C_HandleTypeDef::Instance, IS_I2C_TRANSFER_OPTIONS_REQUEST, I2C_HandleTypeDef::Mode, I2C_HandleTypeDef::pBuffPtr, 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.