STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
stm32f4xx_hal_fmpi2c.h File Reference

Header file of FMPI2C HAL module. More...

Include dependency graph for stm32f4xx_hal_fmpi2c.h:

Go to the source code of this file.

Data Structures

struct  FMPI2C_InitTypeDef
 
struct  __FMPI2C_HandleTypeDef
 

Macros

#define HAL_FMPI2C_ERROR_NONE   (0x00000000U)
 
#define HAL_FMPI2C_ERROR_BERR   (0x00000001U)
 
#define HAL_FMPI2C_ERROR_ARLO   (0x00000002U)
 
#define HAL_FMPI2C_ERROR_AF   (0x00000004U)
 
#define HAL_FMPI2C_ERROR_OVR   (0x00000008U)
 
#define HAL_FMPI2C_ERROR_DMA   (0x00000010U)
 
#define HAL_FMPI2C_ERROR_TIMEOUT   (0x00000020U)
 
#define HAL_FMPI2C_ERROR_SIZE   (0x00000040U)
 
#define HAL_FMPI2C_ERROR_DMA_PARAM   (0x00000080U)
 
#define HAL_FMPI2C_ERROR_INVALID_PARAM   (0x00000200U)
 
#define FMPI2C_FIRST_FRAME   ((uint32_t)FMPI2C_SOFTEND_MODE)
 
#define FMPI2C_FIRST_AND_NEXT_FRAME   ((uint32_t)(FMPI2C_RELOAD_MODE | FMPI2C_SOFTEND_MODE))
 
#define FMPI2C_NEXT_FRAME   ((uint32_t)(FMPI2C_RELOAD_MODE | FMPI2C_SOFTEND_MODE))
 
#define FMPI2C_FIRST_AND_LAST_FRAME   ((uint32_t)FMPI2C_AUTOEND_MODE)
 
#define FMPI2C_LAST_FRAME   ((uint32_t)FMPI2C_AUTOEND_MODE)
 
#define FMPI2C_LAST_FRAME_NO_STOP   ((uint32_t)FMPI2C_SOFTEND_MODE)
 
#define FMPI2C_OTHER_FRAME   (0x000000AAU)
 
#define FMPI2C_OTHER_AND_LAST_FRAME   (0x0000AA00U)
 
#define FMPI2C_ADDRESSINGMODE_7BIT   (0x00000001U)
 
#define FMPI2C_ADDRESSINGMODE_10BIT   (0x00000002U)
 
#define FMPI2C_DUALADDRESS_DISABLE   (0x00000000U)
 
#define FMPI2C_DUALADDRESS_ENABLE   FMPI2C_OAR2_OA2EN
 
#define FMPI2C_OA2_NOMASK   ((uint8_t)0x00U)
 
#define FMPI2C_OA2_MASK01   ((uint8_t)0x01U)
 
#define FMPI2C_OA2_MASK02   ((uint8_t)0x02U)
 
#define FMPI2C_OA2_MASK03   ((uint8_t)0x03U)
 
#define FMPI2C_OA2_MASK04   ((uint8_t)0x04U)
 
#define FMPI2C_OA2_MASK05   ((uint8_t)0x05U)
 
#define FMPI2C_OA2_MASK06   ((uint8_t)0x06U)
 
#define FMPI2C_OA2_MASK07   ((uint8_t)0x07U)
 
#define FMPI2C_GENERALCALL_DISABLE   (0x00000000U)
 
#define FMPI2C_GENERALCALL_ENABLE   FMPI2C_CR1_GCEN
 
#define FMPI2C_NOSTRETCH_DISABLE   (0x00000000U)
 
#define FMPI2C_NOSTRETCH_ENABLE   FMPI2C_CR1_NOSTRETCH
 
#define FMPI2C_MEMADD_SIZE_8BIT   (0x00000001U)
 
#define FMPI2C_MEMADD_SIZE_16BIT   (0x00000002U)
 
#define FMPI2C_DIRECTION_TRANSMIT   (0x00000000U)
 
#define FMPI2C_DIRECTION_RECEIVE   (0x00000001U)
 
#define FMPI2C_RELOAD_MODE   FMPI2C_CR2_RELOAD
 
#define FMPI2C_AUTOEND_MODE   FMPI2C_CR2_AUTOEND
 
#define FMPI2C_SOFTEND_MODE   (0x00000000U)
 
#define FMPI2C_NO_STARTSTOP   (0x00000000U)
 
#define FMPI2C_GENERATE_STOP   (uint32_t)(0x80000000U | FMPI2C_CR2_STOP)
 
#define FMPI2C_GENERATE_START_READ   (uint32_t)(0x80000000U | FMPI2C_CR2_START | FMPI2C_CR2_RD_WRN)
 
#define FMPI2C_GENERATE_START_WRITE   (uint32_t)(0x80000000U | FMPI2C_CR2_START)
 
#define FMPI2C_IT_ERRI   FMPI2C_CR1_ERRIE
 
#define FMPI2C_IT_TCI   FMPI2C_CR1_TCIE
 
#define FMPI2C_IT_STOPI   FMPI2C_CR1_STOPIE
 
#define FMPI2C_IT_NACKI   FMPI2C_CR1_NACKIE
 
#define FMPI2C_IT_ADDRI   FMPI2C_CR1_ADDRIE
 
#define FMPI2C_IT_RXI   FMPI2C_CR1_RXIE
 
#define FMPI2C_IT_TXI   FMPI2C_CR1_TXIE
 
#define FMPI2C_FLAG_TXE   FMPI2C_ISR_TXE
 
#define FMPI2C_FLAG_TXIS   FMPI2C_ISR_TXIS
 
#define FMPI2C_FLAG_RXNE   FMPI2C_ISR_RXNE
 
#define FMPI2C_FLAG_ADDR   FMPI2C_ISR_ADDR
 
#define FMPI2C_FLAG_AF   FMPI2C_ISR_NACKF
 
#define FMPI2C_FLAG_STOPF   FMPI2C_ISR_STOPF
 
#define FMPI2C_FLAG_TC   FMPI2C_ISR_TC
 
#define FMPI2C_FLAG_TCR   FMPI2C_ISR_TCR
 
#define FMPI2C_FLAG_BERR   FMPI2C_ISR_BERR
 
#define FMPI2C_FLAG_ARLO   FMPI2C_ISR_ARLO
 
#define FMPI2C_FLAG_OVR   FMPI2C_ISR_OVR
 
#define FMPI2C_FLAG_PECERR   FMPI2C_ISR_PECERR
 
#define FMPI2C_FLAG_TIMEOUT   FMPI2C_ISR_TIMEOUT
 
#define FMPI2C_FLAG_ALERT   FMPI2C_ISR_ALERT
 
#define FMPI2C_FLAG_BUSY   FMPI2C_ISR_BUSY
 
#define FMPI2C_FLAG_DIR   FMPI2C_ISR_DIR
 
#define __HAL_FMPI2C_RESET_HANDLE_STATE(__HANDLE__)
 Reset FMPI2C handle state.
 
#define __HAL_FMPI2C_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enable the specified FMPI2C interrupt.
 
#define __HAL_FMPI2C_DISABLE_IT(__HANDLE__, __INTERRUPT__)
 Disable the specified FMPI2C interrupt.
 
#define __HAL_FMPI2C_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
 Check whether the specified FMPI2C interrupt source is enabled or not.
 
#define FMPI2C_FLAG_MASK   (0x0001FFFFU)
 Check whether the specified FMPI2C flag is set or not.
 
#define __HAL_FMPI2C_GET_FLAG(__HANDLE__, __FLAG__)
 
#define __HAL_FMPI2C_CLEAR_FLAG(__HANDLE__, __FLAG__)
 Clear the FMPI2C pending flags which are cleared by writing 1 in a specific bit.
 
#define __HAL_FMPI2C_ENABLE(__HANDLE__)
 Enable the specified FMPI2C peripheral.
 
#define __HAL_FMPI2C_DISABLE(__HANDLE__)
 Disable the specified FMPI2C peripheral.
 
#define __HAL_FMPI2C_GENERATE_NACK(__HANDLE__)
 Generate a Non-Acknowledge FMPI2C peripheral in Slave mode.
 
#define IS_FMPI2C_ADDRESSING_MODE(MODE)
 
#define IS_FMPI2C_DUAL_ADDRESS(ADDRESS)
 
#define IS_FMPI2C_OWN_ADDRESS2_MASK(MASK)
 
#define IS_FMPI2C_GENERAL_CALL(CALL)
 
#define IS_FMPI2C_NO_STRETCH(STRETCH)
 
#define IS_FMPI2C_MEMADD_SIZE(SIZE)
 
#define IS_TRANSFER_MODE(MODE)
 
#define IS_TRANSFER_REQUEST(REQUEST)
 
#define IS_FMPI2C_TRANSFER_OPTIONS_REQUEST(REQUEST)
 
#define IS_FMPI2C_TRANSFER_OTHER_OPTIONS_REQUEST(REQUEST)
 
#define FMPI2C_RESET_CR2(__HANDLE__)
 
#define FMPI2C_GET_ADDR_MATCH(__HANDLE__)
 
#define FMPI2C_GET_DIR(__HANDLE__)
 
#define FMPI2C_GET_STOP_MODE(__HANDLE__)
 
#define FMPI2C_GET_OWN_ADDRESS1(__HANDLE__)
 
#define FMPI2C_GET_OWN_ADDRESS2(__HANDLE__)
 
#define IS_FMPI2C_OWN_ADDRESS1(ADDRESS1)
 
#define IS_FMPI2C_OWN_ADDRESS2(ADDRESS2)
 
#define FMPI2C_MEM_ADD_MSB(__ADDRESS__)
 
#define FMPI2C_MEM_ADD_LSB(__ADDRESS__)
 
#define FMPI2C_GENERATE_START(__ADDMODE__, __ADDRESS__)
 
#define FMPI2C_CHECK_FLAG(__ISR__, __FLAG__)
 
#define FMPI2C_CHECK_IT_SOURCE(__CR1__, __IT__)
 

Typedefs

typedef struct __FMPI2C_HandleTypeDef FMPI2C_HandleTypeDef
 

Enumerations

enum  HAL_FMPI2C_StateTypeDef {
  HAL_FMPI2C_STATE_RESET = 0x00U , HAL_FMPI2C_STATE_READY = 0x20U , HAL_FMPI2C_STATE_BUSY = 0x24U , HAL_FMPI2C_STATE_BUSY_TX = 0x21U ,
  HAL_FMPI2C_STATE_BUSY_RX = 0x22U , HAL_FMPI2C_STATE_LISTEN = 0x28U , HAL_FMPI2C_STATE_BUSY_TX_LISTEN = 0x29U , HAL_FMPI2C_STATE_BUSY_RX_LISTEN = 0x2AU ,
  HAL_FMPI2C_STATE_ABORT = 0x60U
}
 
enum  HAL_FMPI2C_ModeTypeDef { HAL_FMPI2C_MODE_NONE = 0x00U , HAL_FMPI2C_MODE_MASTER = 0x10U , HAL_FMPI2C_MODE_SLAVE = 0x20U , HAL_FMPI2C_MODE_MEM = 0x40U }
 

Functions

HAL_StatusTypeDef HAL_FMPI2C_Init (FMPI2C_HandleTypeDef *hfmpi2c)
 Initializes the FMPI2C according to the specified parameters in the FMPI2C_InitTypeDef and initialize the associated handle.
 
HAL_StatusTypeDef HAL_FMPI2C_DeInit (FMPI2C_HandleTypeDef *hfmpi2c)
 DeInitialize the FMPI2C peripheral.
 
void HAL_FMPI2C_MspInit (FMPI2C_HandleTypeDef *hfmpi2c)
 Initialize the FMPI2C MSP.
 
void HAL_FMPI2C_MspDeInit (FMPI2C_HandleTypeDef *hfmpi2c)
 DeInitialize the FMPI2C MSP.
 
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.
 
void HAL_FMPI2C_EV_IRQHandler (FMPI2C_HandleTypeDef *hfmpi2c)
 This function handles FMPI2C event interrupt request.
 
void HAL_FMPI2C_ER_IRQHandler (FMPI2C_HandleTypeDef *hfmpi2c)
 This function handles FMPI2C error interrupt request.
 
void HAL_FMPI2C_MasterTxCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 Master Tx Transfer completed callback.
 
void HAL_FMPI2C_MasterRxCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 Master Rx Transfer completed callback.
 
void HAL_FMPI2C_SlaveTxCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 Slave Tx Transfer completed callback.
 
void HAL_FMPI2C_SlaveRxCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 Slave Rx Transfer completed callback.
 
void HAL_FMPI2C_AddrCallback (FMPI2C_HandleTypeDef *hfmpi2c, uint8_t TransferDirection, uint16_t AddrMatchCode)
 Slave Address Match callback.
 
void HAL_FMPI2C_ListenCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 Listen Complete callback.
 
void HAL_FMPI2C_MemTxCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 Memory Tx Transfer completed callback.
 
void HAL_FMPI2C_MemRxCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 Memory Rx Transfer completed callback.
 
void HAL_FMPI2C_ErrorCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 FMPI2C error callback.
 
void HAL_FMPI2C_AbortCpltCallback (FMPI2C_HandleTypeDef *hfmpi2c)
 FMPI2C abort callback.
 
HAL_FMPI2C_StateTypeDef HAL_FMPI2C_GetState (const FMPI2C_HandleTypeDef *hfmpi2c)
 Return the FMPI2C handle state.
 
HAL_FMPI2C_ModeTypeDef HAL_FMPI2C_GetMode (const FMPI2C_HandleTypeDef *hfmpi2c)
 Returns the FMPI2C Master, Slave, Memory or no mode.
 
uint32_t HAL_FMPI2C_GetError (const FMPI2C_HandleTypeDef *hfmpi2c)
 Return the FMPI2C error code.
 

Detailed Description

Header file of FMPI2C HAL module.

Author
MCD Application Team
Attention

Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file stm32f4xx_hal_fmpi2c.h.