Functions
Data_Management
Peripheral Driver » LL Driver » I2C » Functions

## Functions
__STATIC_INLINE void | ll_i2c_set_slave_address (i2c_regs_t *I2Cx, uint32_t slave_addr)
| Configure the slave address for transfer (master mode). More...
__STATIC_INLINE uint32_t | ll_i2c_get_slave_address (i2c_regs_t *I2Cx)
| Get the slave address programmed for transfer (master mode). More...
__STATIC_INLINE void | ll_i2c_handle_transfer (i2c_regs_t *I2Cx, uint32_t slave_addr, uint32_t slave_addr_size)
| Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag are set). More...
__STATIC_INLINE uint8_t | ll_i2c_receive_data8 (i2c_regs_t *I2Cx)
| Read Receive Data register. More...
__STATIC_INLINE void | ll_i2c_transmit_data8 (i2c_regs_t *I2Cx, uint8_t data, uint32_t cmd)
| Write in Transmit Data Register . More...

## Detailed Description

## Function Documentation

## ◆ ll_i2c_get_slave_address()

__STATIC_INLINE uint32_t ll_i2c_get_slave_address | ( | i2c_regs_t * | I2Cx | ) |

Get the slave address programmed for transfer (master mode).

Register|BitsName ---------------|--------------- TARGET_ADDR | TAR_ADDR

Parameters

  I2Cx | I2C instance.

Return values

  Value | between 0x0 and0x3F

Definition at line 3580 of file ll_i2c.h.

## ◆ ll_i2c_handle_transfer()

__STATIC_INLINE void ll_i2c_handle_transfer | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | slave_addr,
|  | uint32_t | slave_addr_size
| ) |  |

Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag are set).

Note
  The register IC_CON and IC_TAR can only be programmed when the I2C is disabled (ENABLE = 0).

Register|BitsName ---------------|--------------- TARGET_ADDR | TAR_ADDR CTRL | CON_10BITADDR_MST

Parameters

  I2Cx | I2C instance.
  slave_addr | Specifies the slave address to be programmed.
  slave_addr_size | This parameter can be one of the following values: LL_I2C_ADDRESSING_MODE_7BIT LL_I2C_ADDRESSING_MODE_10BIT

Note
  SlaveAddrSize in IC_CON register can only be programmed when the I2C is disabled (IC_ENABLE = 0).

Return values

  None. |

Definition at line 3602 of file ll_i2c.h.

References ll_i2c_set_master_addressing_mode().

## ◆ ll_i2c_receive_data8()

__STATIC_INLINE uint8_t ll_i2c_receive_data8 | ( | i2c_regs_t * | I2Cx | ) |

Read Receive Data register.

Register|BitsName ---------------|--------------- DATA_CMD | DATA

Parameters

  I2Cx | I2C instance.

Return values

  Value | between Min_Data=0x00 and Max_Data=0xFF

Definition at line 3618 of file ll_i2c.h.

## ◆ ll_i2c_set_slave_address()

__STATIC_INLINE void ll_i2c_set_slave_address | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | slave_addr
| ) |  |

Configure the slave address for transfer (master mode).

Note
  The register IC_TAR can only be programmed when the I2C is disabled (ENABLE = 0).

Register|BitsName ---------------|--------------- TARGET_ADDR | TAR_ADDR

Parameters

  I2Cx | I2C instance.
  slave_addr | This parameter must be a value between 0x00 and 0x3F.

Return values

  None. |

Definition at line 3565 of file ll_i2c.h.

## ◆ ll_i2c_transmit_data8()

__STATIC_INLINE void ll_i2c_transmit_data8 | ( | i2c_regs_t * | I2Cx,
|  | uint8_t | data,
|  | uint32_t | cmd
| ) |  |

Write in Transmit Data Register .

Register|BitsName ---------------|--------------- DATA_CMD | STOP DATA_CMD | CMD DATA_CMD | DATA

Parameters

  I2Cx | I2C instance.
  data | Value range between 0x00 and 0xFF.
  cmd | This parameter can be one of the following values: LL_I2C_CMD_SLV_NONE LL_I2C_CMD_MST_WRITE LL_I2C_CMD_MST_READ LL_I2C_CMD_MST_GEN_STOP LL_I2C_CMD_MST_GEN_RESTART

Return values

  None. |

Definition at line 3642 of file ll_i2c.h.