STM32F439xx HAL User Manual
Data Structures | Enumerations
I2C Exported Types
I2C

Data Structures

struct  I2C_InitTypeDef
 I2C Configuration Structure definition. More...
struct  I2C_HandleTypeDef
 I2C handle Structure definition. More...

Enumerations

enum  HAL_I2C_StateTypeDef {
  HAL_I2C_STATE_RESET = 0x00U, HAL_I2C_STATE_READY = 0x20U, HAL_I2C_STATE_BUSY = 0x24U, HAL_I2C_STATE_BUSY_TX = 0x21U,
  HAL_I2C_STATE_BUSY_RX = 0x22U, HAL_I2C_STATE_LISTEN = 0x28U, HAL_I2C_STATE_BUSY_TX_LISTEN = 0x29U, HAL_I2C_STATE_BUSY_RX_LISTEN = 0x2AU,
  HAL_I2C_STATE_ABORT = 0x60U, HAL_I2C_STATE_TIMEOUT = 0xA0U, HAL_I2C_STATE_ERROR = 0xE0U
}
 HAL State structure definition. More...
enum  HAL_I2C_ModeTypeDef { HAL_I2C_MODE_NONE = 0x00U, HAL_I2C_MODE_MASTER = 0x10U, HAL_I2C_MODE_SLAVE = 0x20U, HAL_I2C_MODE_MEM = 0x40U }
 HAL Mode structure definition. More...

Enumeration Type Documentation

HAL Mode structure definition.

Note:
HAL I2C Mode value coding follow below described bitmap : b7 (not used) x : Should be set to 0 b6 0 : None 1 : Memory (HAL I2C communication is in Memory Mode) b5 0 : None 1 : Slave (HAL I2C communication is in Slave Mode) b4 0 : None 1 : Master (HAL I2C communication is in Master Mode) b3-b2-b1-b0 (not used) xxxx : Should be set to 0000
Enumerator:
HAL_I2C_MODE_NONE 

No I2C communication on going

HAL_I2C_MODE_MASTER 

I2C communication is in Master Mode

HAL_I2C_MODE_SLAVE 

I2C communication is in Slave Mode

HAL_I2C_MODE_MEM 

I2C communication is in Memory Mode

Definition at line 152 of file stm32f4xx_hal_i2c.h.

HAL State structure definition.

Note:
HAL I2C State value coding follow below described bitmap : b7-b6 Error information 00 : No Error 01 : Abort (Abort user request on going) 10 : Timeout 11 : Error b5 IP initilisation status 0 : Reset (IP not initialized) 1 : Init done (IP initialized and ready to use. HAL I2C Init function called) b4 (not used) x : Should be set to 0 b3 0 : Ready or Busy (No Listen mode ongoing) 1 : Listen (IP in Address Listen Mode) b2 Intrinsic process state 0 : Ready 1 : Busy (IP busy with some configuration or internal operations) b1 Rx state 0 : Ready (no Rx operation ongoing) 1 : Busy (Rx operation ongoing) b0 Tx state 0 : Ready (no Tx operation ongoing) 1 : Busy (Tx operation ongoing)
Enumerator:
HAL_I2C_STATE_RESET 

Peripheral is not yet Initialized

HAL_I2C_STATE_READY 

Peripheral Initialized and ready for use

HAL_I2C_STATE_BUSY 

An internal process is ongoing

HAL_I2C_STATE_BUSY_TX 

Data Transmission process is ongoing

HAL_I2C_STATE_BUSY_RX 

Data Reception process is ongoing

HAL_I2C_STATE_LISTEN 

Address Listen Mode is ongoing

HAL_I2C_STATE_BUSY_TX_LISTEN 

Address Listen Mode and Data Transmission process is ongoing

HAL_I2C_STATE_BUSY_RX_LISTEN 

Address Listen Mode and Data Reception process is ongoing

HAL_I2C_STATE_ABORT 

Abort user request ongoing

HAL_I2C_STATE_TIMEOUT 

Timeout state

HAL_I2C_STATE_ERROR 

Error

Definition at line 117 of file stm32f4xx_hal_i2c.h.