STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
|
Header file of FMPI2C HAL module. More...
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. | |
Header file of FMPI2C HAL module.
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.