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_FMPI2C_Master_Transmit (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Master_Receive (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Slave_Transmit (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Transmits in slave mode an amount of data in blocking mode.
 
HAL_StatusTypeDef HAL_FMPI2C_Slave_Receive (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 Receive in slave mode an amount of data in blocking mode.
 
HAL_StatusTypeDef HAL_FMPI2C_Mem_Write (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Mem_Read (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_IsDeviceReady (FMPI2C_HandleTypeDef *hfmpi2c, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout)
 Checks if target device is ready for communication.
 
HAL_StatusTypeDef HAL_FMPI2C_Master_Transmit_IT (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Master_Receive_IT (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Slave_Transmit_IT (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size)
 Transmit in slave mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_Slave_Receive_IT (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size)
 Receive in slave mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_Mem_Write_IT (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Mem_Read_IT (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Master_Seq_Transmit_IT (FMPI2C_HandleTypeDef *hfmpi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in master FMPI2C mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_Master_Seq_Receive_IT (FMPI2C_HandleTypeDef *hfmpi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in master FMPI2C mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Transmit_IT (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in slave/device FMPI2C mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Receive_IT (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in slave/device FMPI2C mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_EnableListen_IT (FMPI2C_HandleTypeDef *hfmpi2c)
 Enable the Address listen mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_DisableListen_IT (FMPI2C_HandleTypeDef *hfmpi2c)
 Disable the Address listen mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_Master_Abort_IT (FMPI2C_HandleTypeDef *hfmpi2c, uint16_t DevAddress)
 Abort a master FMPI2C IT or DMA process communication with Interrupt.
 
HAL_StatusTypeDef HAL_FMPI2C_Master_Transmit_DMA (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Master_Receive_DMA (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Slave_Transmit_DMA (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size)
 Transmit in slave mode an amount of data in non-blocking mode with DMA.
 
HAL_StatusTypeDef HAL_FMPI2C_Slave_Receive_DMA (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size)
 Receive in slave mode an amount of data in non-blocking mode with DMA.
 
HAL_StatusTypeDef HAL_FMPI2C_Mem_Write_DMA (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Mem_Read_DMA (FMPI2C_HandleTypeDef *hfmpi2c, 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_FMPI2C_Master_Seq_Transmit_DMA (FMPI2C_HandleTypeDef *hfmpi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in master FMPI2C mode an amount of data in non-blocking mode with DMA.
 
HAL_StatusTypeDef HAL_FMPI2C_Master_Seq_Receive_DMA (FMPI2C_HandleTypeDef *hfmpi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in master FMPI2C mode an amount of data in non-blocking mode with DMA.
 
HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Transmit_DMA (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential transmit in slave/device FMPI2C mode an amount of data in non-blocking mode with DMA.
 
HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Receive_DMA (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Sequential receive in slave/device FMPI2C 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 FMPI2C 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 FMPI2C IRQ when using Interrupt mode or the DMA IRQ when
            using DMA mode.

    (#) Blocking mode functions are :
        (++) HAL_FMPI2C_Master_Transmit()
        (++) HAL_FMPI2C_Master_Receive()
        (++) HAL_FMPI2C_Slave_Transmit()
        (++) HAL_FMPI2C_Slave_Receive()
        (++) HAL_FMPI2C_Mem_Write()
        (++) HAL_FMPI2C_Mem_Read()
        (++) HAL_FMPI2C_IsDeviceReady()

    (#) No-Blocking mode functions with Interrupt are :
        (++) HAL_FMPI2C_Master_Transmit_IT()
        (++) HAL_FMPI2C_Master_Receive_IT()
        (++) HAL_FMPI2C_Slave_Transmit_IT()
        (++) HAL_FMPI2C_Slave_Receive_IT()
        (++) HAL_FMPI2C_Mem_Write_IT()
        (++) HAL_FMPI2C_Mem_Read_IT()
        (++) HAL_FMPI2C_Master_Seq_Transmit_IT()
        (++) HAL_FMPI2C_Master_Seq_Receive_IT()
        (++) HAL_FMPI2C_Slave_Seq_Transmit_IT()
        (++) HAL_FMPI2C_Slave_Seq_Receive_IT()
        (++) HAL_FMPI2C_EnableListen_IT()
        (++) HAL_FMPI2C_DisableListen_IT()
        (++) HAL_FMPI2C_Master_Abort_IT()

    (#) No-Blocking mode functions with DMA are :
        (++) HAL_FMPI2C_Master_Transmit_DMA()
        (++) HAL_FMPI2C_Master_Receive_DMA()
        (++) HAL_FMPI2C_Slave_Transmit_DMA()
        (++) HAL_FMPI2C_Slave_Receive_DMA()
        (++) HAL_FMPI2C_Mem_Write_DMA()
        (++) HAL_FMPI2C_Mem_Read_DMA()
        (++) HAL_FMPI2C_Master_Seq_Transmit_DMA()
        (++) HAL_FMPI2C_Master_Seq_Receive_DMA()
        (++) HAL_FMPI2C_Slave_Seq_Transmit_DMA()
        (++) HAL_FMPI2C_Slave_Seq_Receive_DMA()

    (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
        (++) HAL_FMPI2C_MasterTxCpltCallback()
        (++) HAL_FMPI2C_MasterRxCpltCallback()
        (++) HAL_FMPI2C_SlaveTxCpltCallback()
        (++) HAL_FMPI2C_SlaveRxCpltCallback()
        (++) HAL_FMPI2C_MemTxCpltCallback()
        (++) HAL_FMPI2C_MemRxCpltCallback()
        (++) HAL_FMPI2C_AddrCallback()
        (++) HAL_FMPI2C_ListenCpltCallback()
        (++) HAL_FMPI2C_ErrorCallback()
        (++) HAL_FMPI2C_AbortCpltCallback()

Function Documentation

◆ HAL_FMPI2C_Master_Transmit()

HAL_StatusTypeDef HAL_FMPI2C_Master_Transmit ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t Timeout )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 1120 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_LOCK, __HAL_UNLOCK, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_FLAG_BUSY, FMPI2C_FLAG_STOPF, FMPI2C_FLAG_TCR, FMPI2C_GENERATE_START_WRITE, FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_RESET_CR2, FMPI2C_TIMEOUT_BUSY, FMPI2C_TransferConfig(), FMPI2C_WaitOnFlagUntilTimeout(), FMPI2C_WaitOnSTOPFlagUntilTimeout(), FMPI2C_WaitOnTXISFlagUntilTimeout(), HAL_BUSY, HAL_ERROR, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_GetTick(), HAL_OK, __FMPI2C_HandleTypeDef::Instance, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Master_Receive()

HAL_StatusTypeDef HAL_FMPI2C_Master_Receive ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t Timeout )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 1261 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_LOCK, __HAL_UNLOCK, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_FLAG_BUSY, FMPI2C_FLAG_STOPF, FMPI2C_FLAG_TCR, FMPI2C_GENERATE_START_READ, FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_RESET_CR2, FMPI2C_TIMEOUT_BUSY, FMPI2C_TransferConfig(), FMPI2C_WaitOnFlagUntilTimeout(), FMPI2C_WaitOnRXNEFlagUntilTimeout(), FMPI2C_WaitOnSTOPFlagUntilTimeout(), HAL_BUSY, HAL_ERROR, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_GetTick(), HAL_OK, __FMPI2C_HandleTypeDef::Instance, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Slave_Transmit()

◆ HAL_FMPI2C_Slave_Receive()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Receive ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size,
uint32_t Timeout )

◆ HAL_FMPI2C_Mem_Write()

HAL_StatusTypeDef HAL_FMPI2C_Mem_Write ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t * pData,
uint16_t Size,
uint32_t Timeout )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 2512 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_FLAG_BUSY, FMPI2C_FLAG_STOPF, FMPI2C_FLAG_TCR, FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_RequestMemoryWrite(), FMPI2C_RESET_CR2, FMPI2C_TIMEOUT_BUSY, FMPI2C_TransferConfig(), FMPI2C_WaitOnFlagUntilTimeout(), FMPI2C_WaitOnSTOPFlagUntilTimeout(), FMPI2C_WaitOnTXISFlagUntilTimeout(), HAL_BUSY, HAL_ERROR, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MEM, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_GetTick(), HAL_OK, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_MEMADD_SIZE, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Mem_Read()

HAL_StatusTypeDef HAL_FMPI2C_Mem_Read ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t * pData,
uint16_t Size,
uint32_t Timeout )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 2649 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_FLAG_BUSY, FMPI2C_FLAG_RXNE, FMPI2C_FLAG_STOPF, FMPI2C_FLAG_TCR, FMPI2C_GENERATE_START_READ, FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_RequestMemoryRead(), FMPI2C_RESET_CR2, FMPI2C_TIMEOUT_BUSY, FMPI2C_TransferConfig(), FMPI2C_WaitOnFlagUntilTimeout(), FMPI2C_WaitOnSTOPFlagUntilTimeout(), HAL_BUSY, HAL_ERROR, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MEM, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_GetTick(), HAL_OK, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_MEMADD_SIZE, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_IsDeviceReady()

HAL_StatusTypeDef HAL_FMPI2C_IsDeviceReady ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint32_t Trials,
uint32_t Timeout )

#include <stm32f4xx_hal_fmpi2c.h>

Checks if target device is ready for communication.

Note
This function is used with Memory devices
Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 3252 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, FMPI2C_InitTypeDef::AddressingMode, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_FLAG_AF, FMPI2C_FLAG_BUSY, FMPI2C_FLAG_STOPF, FMPI2C_GENERATE_START, FMPI2C_WaitOnFlagUntilTimeout(), HAL_BUSY, HAL_ERROR, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_ERROR_TIMEOUT, HAL_FMPI2C_STATE_BUSY, HAL_FMPI2C_STATE_READY, HAL_GetTick(), HAL_MAX_DELAY, HAL_OK, __FMPI2C_HandleTypeDef::Init, __FMPI2C_HandleTypeDef::Instance, and __FMPI2C_HandleTypeDef::State.

◆ HAL_FMPI2C_Master_Transmit_IT()

HAL_StatusTypeDef HAL_FMPI2C_Master_Transmit_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 1684 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_WRITE, FMPI2C_Master_ISR_IT(), FMPI2C_NO_OPTION_FRAME, FMPI2C_RELOAD_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::Instance, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Master_Receive_IT()

HAL_StatusTypeDef HAL_FMPI2C_Master_Receive_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 1774 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_READ, FMPI2C_Master_ISR_IT(), FMPI2C_NO_OPTION_FRAME, FMPI2C_RELOAD_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_RX_IT, HAL_BUSY, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_OK, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Slave_Transmit_IT()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Transmit_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size )

◆ HAL_FMPI2C_Slave_Receive_IT()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Receive_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
pDataPointer to data buffer
SizeAmount of data to be sent
Return values
HALstatus

Definition at line 1907 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_LOCK, __HAL_UNLOCK, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_Enable_IRQ(), FMPI2C_NO_OPTION_FRAME, FMPI2C_Slave_ISR_IT(), FMPI2C_XFER_LISTEN_IT, FMPI2C_XFER_RX_IT, HAL_BUSY, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_SLAVE, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::Instance, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Mem_Write_IT()

HAL_StatusTypeDef HAL_FMPI2C_Mem_Write_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 2786 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::Devaddress, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_WRITE, FMPI2C_MEM_ADD_LSB, FMPI2C_MEM_ADD_MSB, FMPI2C_Mem_ISR_IT(), FMPI2C_MEMADD_SIZE_8BIT, FMPI2C_NO_OPTION_FRAME, FMPI2C_RELOAD_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_ERROR, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MEM, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_MEMADD_SIZE, __FMPI2C_HandleTypeDef::Memaddress, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Mem_Read_IT()

HAL_StatusTypeDef HAL_FMPI2C_Mem_Read_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 2874 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::Devaddress, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_WRITE, FMPI2C_MEM_ADD_LSB, FMPI2C_MEM_ADD_MSB, FMPI2C_Mem_ISR_IT(), FMPI2C_MEMADD_SIZE_8BIT, FMPI2C_NO_OPTION_FRAME, FMPI2C_SOFTEND_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_ERROR, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MEM, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_MEMADD_SIZE, __FMPI2C_HandleTypeDef::Memaddress, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, and __FMPI2C_HandleTypeDef::XferOptions.

◆ HAL_FMPI2C_Master_Seq_Transmit_IT()

HAL_StatusTypeDef HAL_FMPI2C_Master_Seq_Transmit_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential transmit in master FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 3378 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_ConvertOtherXferOptions(), FMPI2C_Enable_IRQ(), FMPI2C_FIRST_AND_LAST_FRAME, FMPI2C_FIRST_FRAME, FMPI2C_GENERATE_START_WRITE, FMPI2C_Master_ISR_IT(), FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_STATE_MASTER_BUSY_TX, FMPI2C_TransferConfig(), FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, IS_FMPI2C_TRANSFER_OTHER_OPTIONS_REQUEST, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::PreviousState, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Master_Seq_Receive_IT()

HAL_StatusTypeDef HAL_FMPI2C_Master_Seq_Receive_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential receive in master FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 3689 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_ConvertOtherXferOptions(), FMPI2C_Enable_IRQ(), FMPI2C_GENERATE_START_READ, FMPI2C_Master_ISR_IT(), FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_STATE_MASTER_BUSY_RX, FMPI2C_TransferConfig(), FMPI2C_XFER_RX_IT, HAL_BUSY, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_OK, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, IS_FMPI2C_TRANSFER_OTHER_OPTIONS_REQUEST, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::PreviousState, __FMPI2C_HandleTypeDef::State, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Slave_Seq_Transmit_IT()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Transmit_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential transmit in slave/device FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 3942 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_DIRECTION_RECEIVE, FMPI2C_Disable_IRQ(), FMPI2C_DMAAbort(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_ADDR, FMPI2C_GET_DIR, FMPI2C_Slave_ISR_IT(), FMPI2C_XFER_LISTEN_IT, FMPI2C_XFER_RX_IT, FMPI2C_XFER_TX_IT, HAL_DMA_Abort_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_SLAVE, HAL_FMPI2C_STATE_BUSY_RX_LISTEN, HAL_FMPI2C_STATE_BUSY_TX_LISTEN, HAL_FMPI2C_STATE_LISTEN, HAL_OK, __FMPI2C_HandleTypeDef::hdmarx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Slave_Seq_Receive_IT()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Receive_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential receive in slave/device FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 4226 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_DIRECTION_TRANSMIT, FMPI2C_Disable_IRQ(), FMPI2C_DMAAbort(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_ADDR, FMPI2C_GET_DIR, FMPI2C_Slave_ISR_IT(), FMPI2C_XFER_LISTEN_IT, FMPI2C_XFER_RX_IT, FMPI2C_XFER_TX_IT, HAL_DMA_Abort_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_SLAVE, HAL_FMPI2C_STATE_BUSY_RX_LISTEN, HAL_FMPI2C_STATE_BUSY_TX_LISTEN, HAL_FMPI2C_STATE_LISTEN, HAL_OK, __FMPI2C_HandleTypeDef::hdmatx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_EnableListen_IT()

HAL_StatusTypeDef HAL_FMPI2C_EnableListen_IT ( FMPI2C_HandleTypeDef * hfmpi2c)

#include <stm32f4xx_hal_fmpi2c.h>

Enable the Address listen mode with Interrupt.

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
Return values
HALstatus

Definition at line 4506 of file stm32f4xx_hal_fmpi2c.c.

References FMPI2C_Enable_IRQ(), FMPI2C_Slave_ISR_IT(), FMPI2C_XFER_LISTEN_IT, HAL_BUSY, HAL_FMPI2C_STATE_LISTEN, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::State, and __FMPI2C_HandleTypeDef::XferISR.

◆ HAL_FMPI2C_DisableListen_IT()

HAL_StatusTypeDef HAL_FMPI2C_DisableListen_IT ( FMPI2C_HandleTypeDef * hfmpi2c)

#include <stm32f4xx_hal_fmpi2c.h>

Disable the Address listen mode with Interrupt.

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C
Return values
HALstatus

Definition at line 4530 of file stm32f4xx_hal_fmpi2c.c.

References FMPI2C_Disable_IRQ(), FMPI2C_STATE_MSK, FMPI2C_XFER_LISTEN_IT, HAL_BUSY, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_LISTEN, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::PreviousState, __FMPI2C_HandleTypeDef::State, and __FMPI2C_HandleTypeDef::XferISR.

◆ HAL_FMPI2C_Master_Abort_IT()

HAL_StatusTypeDef HAL_FMPI2C_Master_Abort_IT ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 4563 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_LOCK, __HAL_UNLOCK, FMPI2C_AUTOEND_MODE, FMPI2C_Disable_IRQ(), FMPI2C_Enable_IRQ(), FMPI2C_GENERATE_STOP, FMPI2C_STATE_MASTER_BUSY_RX, FMPI2C_STATE_MASTER_BUSY_TX, FMPI2C_TransferConfig(), FMPI2C_XFER_CPLT_IT, FMPI2C_XFER_RX_IT, FMPI2C_XFER_TX_IT, HAL_ERROR, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_STATE_ABORT, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_BUSY_TX, HAL_OK, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::PreviousState, and __FMPI2C_HandleTypeDef::State.

◆ HAL_FMPI2C_Master_Transmit_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Master_Transmit_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 1959 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_DMAError(), FMPI2C_DMAMasterTransmitCplt(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_WRITE, FMPI2C_Master_ISR_DMA(), FMPI2C_Master_ISR_IT(), FMPI2C_NO_OPTION_FRAME, FMPI2C_RELOAD_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_ERROR_IT, FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::hdmatx, __FMPI2C_HandleTypeDef::Instance, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Master_Receive_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Master_Receive_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 2122 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_DMAError(), FMPI2C_DMAMasterReceiveCplt(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_READ, FMPI2C_Master_ISR_DMA(), FMPI2C_Master_ISR_IT(), FMPI2C_NO_OPTION_FRAME, FMPI2C_RELOAD_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_ERROR_IT, FMPI2C_XFER_RX_IT, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::hdmarx, __FMPI2C_HandleTypeDef::Instance, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Slave_Transmit_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Transmit_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size )

◆ HAL_FMPI2C_Slave_Receive_DMA()

◆ HAL_FMPI2C_Mem_Write_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Mem_Write_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 2961 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::Devaddress, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_DMAError(), FMPI2C_DMAMasterTransmitCplt(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_WRITE, FMPI2C_MEM_ADD_LSB, FMPI2C_MEM_ADD_MSB, FMPI2C_Mem_ISR_DMA(), FMPI2C_MEMADD_SIZE_8BIT, FMPI2C_NO_OPTION_FRAME, FMPI2C_RELOAD_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MEM, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::hdmatx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_MEMADD_SIZE, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Memaddress, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Mem_Read_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Mem_Read_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint16_t MemAddress,
uint16_t MemAddSize,
uint8_t * pData,
uint16_t Size )

#include <stm32f4xx_hal_fmpi2c.h>

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

Parameters
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 3107 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::Devaddress, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_DMAError(), FMPI2C_DMAMasterReceiveCplt(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_BUSY, FMPI2C_GENERATE_START_WRITE, FMPI2C_MEM_ADD_LSB, FMPI2C_MEM_ADD_MSB, FMPI2C_Mem_ISR_DMA(), FMPI2C_MEMADD_SIZE_8BIT, FMPI2C_NO_OPTION_FRAME, FMPI2C_SOFTEND_MODE, FMPI2C_TransferConfig(), FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MEM, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::hdmarx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_MEMADD_SIZE, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Memaddress, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Master_Seq_Transmit_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Master_Seq_Transmit_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential transmit in master FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 3492 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_ConvertOtherXferOptions(), FMPI2C_DMAError(), FMPI2C_DMAMasterTransmitCplt(), FMPI2C_Enable_IRQ(), FMPI2C_FIRST_AND_LAST_FRAME, FMPI2C_FIRST_FRAME, FMPI2C_GENERATE_START_WRITE, FMPI2C_Master_ISR_DMA(), FMPI2C_Master_ISR_IT(), FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_STATE_MASTER_BUSY_TX, FMPI2C_TransferConfig(), FMPI2C_XFER_ERROR_IT, FMPI2C_XFER_TX_IT, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_TX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::hdmatx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, IS_FMPI2C_TRANSFER_OTHER_OPTIONS_REQUEST, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::PreviousState, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Master_Seq_Receive_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Master_Seq_Receive_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential receive in master FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
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 FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 3776 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_AUTOEND_MODE, FMPI2C_ConvertOtherXferOptions(), FMPI2C_DMAError(), FMPI2C_DMAMasterReceiveCplt(), FMPI2C_Enable_IRQ(), FMPI2C_GENERATE_START_READ, FMPI2C_Master_ISR_DMA(), FMPI2C_Master_ISR_IT(), FMPI2C_NO_STARTSTOP, FMPI2C_RELOAD_MODE, FMPI2C_STATE_MASTER_BUSY_RX, FMPI2C_TransferConfig(), FMPI2C_XFER_ERROR_IT, FMPI2C_XFER_RX_IT, HAL_BUSY, HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_MASTER, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_STATE_BUSY_RX, HAL_FMPI2C_STATE_READY, HAL_OK, __FMPI2C_HandleTypeDef::hdmarx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, IS_FMPI2C_TRANSFER_OTHER_OPTIONS_REQUEST, MAX_NBYTE_SIZE, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::PreviousState, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Slave_Seq_Transmit_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Transmit_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential transmit in slave/device FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 4042 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_DIRECTION_RECEIVE, FMPI2C_Disable_IRQ(), FMPI2C_DMAAbort(), FMPI2C_DMAError(), FMPI2C_DMASlaveTransmitCplt(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_ADDR, FMPI2C_GET_DIR, FMPI2C_Slave_ISR_DMA(), FMPI2C_XFER_LISTEN_IT, FMPI2C_XFER_RX_IT, FMPI2C_XFER_TX_IT, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_MODE_SLAVE, HAL_FMPI2C_STATE_BUSY_RX_LISTEN, HAL_FMPI2C_STATE_BUSY_TX_LISTEN, HAL_FMPI2C_STATE_LISTEN, HAL_OK, __FMPI2C_HandleTypeDef::hdmarx, __FMPI2C_HandleTypeDef::hdmatx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.

◆ HAL_FMPI2C_Slave_Seq_Receive_DMA()

HAL_StatusTypeDef HAL_FMPI2C_Slave_Seq_Receive_DMA ( FMPI2C_HandleTypeDef * hfmpi2c,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpi2c.h>

Sequential receive in slave/device FMPI2C 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
hfmpi2cPointer to a FMPI2C_HandleTypeDef structure that contains the configuration information for the specified FMPI2C.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of FMPI2C Sequential Transfer Options
Return values
HALstatus

Definition at line 4326 of file stm32f4xx_hal_fmpi2c.c.

References __HAL_FMPI2C_CLEAR_FLAG, __HAL_FMPI2C_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, assert_param, __FMPI2C_HandleTypeDef::ErrorCode, FMPI2C_DIRECTION_TRANSMIT, FMPI2C_Disable_IRQ(), FMPI2C_DMAAbort(), FMPI2C_DMAError(), FMPI2C_DMASlaveReceiveCplt(), FMPI2C_Enable_IRQ(), FMPI2C_FLAG_ADDR, FMPI2C_GET_DIR, FMPI2C_Slave_ISR_DMA(), FMPI2C_XFER_LISTEN_IT, FMPI2C_XFER_RX_IT, FMPI2C_XFER_TX_IT, HAL_DMA_Abort_IT(), HAL_DMA_Start_IT(), HAL_ERROR, HAL_FMPI2C_ERROR_DMA, HAL_FMPI2C_ERROR_DMA_PARAM, HAL_FMPI2C_ERROR_INVALID_PARAM, HAL_FMPI2C_ERROR_NONE, HAL_FMPI2C_MODE_NONE, HAL_FMPI2C_MODE_SLAVE, HAL_FMPI2C_STATE_BUSY_RX_LISTEN, HAL_FMPI2C_STATE_BUSY_TX_LISTEN, HAL_FMPI2C_STATE_LISTEN, HAL_OK, __FMPI2C_HandleTypeDef::hdmarx, __FMPI2C_HandleTypeDef::hdmatx, __FMPI2C_HandleTypeDef::Instance, IS_FMPI2C_TRANSFER_OPTIONS_REQUEST, __FMPI2C_HandleTypeDef::Mode, __FMPI2C_HandleTypeDef::pBuffPtr, __FMPI2C_HandleTypeDef::State, __DMA_HandleTypeDef::XferAbortCallback, __FMPI2C_HandleTypeDef::XferCount, __DMA_HandleTypeDef::XferCpltCallback, __DMA_HandleTypeDef::XferErrorCallback, __DMA_HandleTypeDef::XferHalfCpltCallback, __FMPI2C_HandleTypeDef::XferISR, __FMPI2C_HandleTypeDef::XferOptions, and __FMPI2C_HandleTypeDef::XferSize.