Data_Management

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 uint32_t ll_i2c_get_transfer_direction (i2c_regs_t *I2Cx)
 Indicate the value of transfer direction (slave mode). 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
IC_TAR TAR_ADDR
Parameters
I2CxI2C instance.
Return values
Valuebetween 0x0 and0x3F

◆ ll_i2c_get_transfer_direction()

__STATIC_INLINE uint32_t ll_i2c_get_transfer_direction ( i2c_regs_t *  I2Cx)

Indicate the value of transfer direction (slave mode).

Note
RESET: Write transfer, Slave enters in receiver mode. SET: Read transfer, Slave enters in transmitter mode.
Register BitsName
IC_RAW_INTR_STAT INTR_RD_REQ
IC_RAW_INTR_STAT INTR_RX_FULL
Parameters
I2CxI2C instance.
Return values
Returnedvalue can be one of the following values:

◆ 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
IC_CON CON_10BITADDR_MST
IC_TAR TAR_ADDR
Parameters
I2CxI2C instance.
slave_addrSpecifies the slave address to be programmed.
slave_addr_sizeThis parameter can be one of the following values:
Note
SlaveAddrSize in IC_CON register can only be programmed when the I2C is disabled (IC_ENABLE = 0).
Return values
None.

◆ ll_i2c_receive_data8()

__STATIC_INLINE uint8_t ll_i2c_receive_data8 ( i2c_regs_t *  I2Cx)

Read Receive Data register.

Register BitsName
IC_DATA_CMD DAT
Parameters
I2CxI2C instance.
Return values
Valuebetween Min_Data=0x00 and Max_Data=0xFF

◆ 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
IC_TAR TAR_ADDR
Parameters
I2CxI2C instance.
slave_addrThis parameter must be a value between 0x00 and 0x3F.
Return values
None.

◆ 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
IC_DATA_CMD STOP
IC_DATA_CMD CMD
IC_DATA_CMD DAT
Parameters
I2CxI2C instance.
dataValue range between 0x00 and 0xFF.
cmdThis parameter can be one of the following values:
Return values
None.