Functions
Configuration
Peripheral Driver » LL Driver » I2C » Functions
Collaboration diagram for Configuration:

## Functions
__STATIC_INLINE void | ll_i2c_enable (i2c_regs_t *I2Cx)
| Enable I2C peripheral (ENABLE = 1). More...
__STATIC_INLINE void | ll_i2c_disable (i2c_regs_t *I2Cx)
| Disable I2C peripheral (ENABLE = 0). More...
__STATIC_INLINE uint32_t | ll_i2c_is_enabled (i2c_regs_t *I2Cx)
| Check if the I2C peripheral is enabled or disabled. More...
__STATIC_INLINE void | ll_i2c_enable_master_mode (i2c_regs_t *I2Cx)
| Enable I2C master mode. More...
__STATIC_INLINE void | ll_i2c_disable_master_mode (i2c_regs_t *I2Cx)
| Disable I2C master mode and enable slave mode. More...
__STATIC_INLINE uint32_t | ll_i2c_is_enabled_master_mode (i2c_regs_t *I2Cx)
| Check if I2C master mode is enabled or disabled. More...
__STATIC_INLINE void | ll_i2c_enable_general_call (i2c_regs_t *I2Cx)
| Enable General Call(slave mode). More...
__STATIC_INLINE void | ll_i2c_disable_general_call (i2c_regs_t *I2Cx)
| Disable General Call(slave mode). More...
__STATIC_INLINE uint32_t | ll_i2c_is_enabled_general_call (i2c_regs_t *I2Cx)
| Check if General Call is enabled or disabled(slave mode). More...
__STATIC_INLINE void | ll_i2c_enable_master_restart (i2c_regs_t *I2Cx)
| Enable Master Restart. More...
__STATIC_INLINE void | ll_i2c_disable_master_restart (i2c_regs_t *I2Cx)
| Disable Master Restart. More...
__STATIC_INLINE uint32_t | ll_i2c_is_enabled_master_restart (i2c_regs_t *I2Cx)
| Check if Master Restart is enabled or disabled. More...
__STATIC_INLINE void | ll_i2c_enable_stop_det_if_addressed (i2c_regs_t *I2Cx)
| Enable Slave issues STOP_DET interrupt only if addressed function. More...
__STATIC_INLINE void | ll_i2c_disable_stop_det_if_addressed (i2c_regs_t *I2Cx)
| Disable Slave issues STOP_DET interrupt only if addressed function. More...
__STATIC_INLINE uint32_t | ll_i2c_is_enabled_stop_det_if_addressed (i2c_regs_t *I2Cx)
| Check if Slave issues STOP_DET interrupt only if addressed function is enabled or disabled. More...
__STATIC_INLINE void | ll_i2c_set_master_addressing_mode (i2c_regs_t *I2Cx, uint32_t addressing_mode)
| Configure the Master to transfers in 7-bit or 10-bit addressing mode. More...
__STATIC_INLINE uint32_t | ll_i2c_get_master_addressing_mode (i2c_regs_t *I2Cx)
| Get the Master addressing mode. More...
__STATIC_INLINE void | ll_i2c_set_own_address (i2c_regs_t *I2Cx, uint32_t own_address, uint32_t own_addr_size)
| Set the Own Address. More...
__STATIC_INLINE void | ll_i2c_set_clock_high_period_ss (i2c_regs_t *I2Cx, uint32_t count)
| Set the SCL clock high-period count for standard speed. More...
__STATIC_INLINE uint32_t | ll_i2c_get_clock_high_period_ss (i2c_regs_t *I2Cx)
| Get the SCL clock high-period count for standard speed. More...
__STATIC_INLINE void | ll_i2c_set_clock_low_period_ss (i2c_regs_t *I2Cx, uint32_t count)
| Set the SCL clock low-period count for standard speed. More...
__STATIC_INLINE uint32_t | ll_i2c_get_clock_low_period_ss (i2c_regs_t *I2Cx)
| Get the SCL clock low-period count for standard speed. More...
__STATIC_INLINE void | ll_i2c_set_clock_high_period_fs (i2c_regs_t *I2Cx, uint32_t count)
| Set the SCL clock high-period count for fast speed. More...
__STATIC_INLINE uint32_t | ll_i2c_get_clock_high_period_fs (i2c_regs_t *I2Cx)
| Get the SCL clock high-period count for fast speed. More...
__STATIC_INLINE void | ll_i2c_set_clock_low_period_fs (i2c_regs_t *I2Cx, uint32_t count)
| Set the SCL clock low-period count for fast speed. More...
__STATIC_INLINE uint32_t | ll_i2c_get_clock_low_period_fs (i2c_regs_t *I2Cx)
| Get the SCL clock low-period count for fast speed. More...
__STATIC_INLINE void | ll_i2c_set_clock_high_period_hs (i2c_regs_t *I2Cx, uint32_t count)
| Get the SCL clock high-period count for high speed. More...
__STATIC_INLINE uint32_t | ll_i2c_get_clock_high_period_hs (i2c_regs_t *I2Cx)
| Get the SCL clock high-period count for high speed. More...
__STATIC_INLINE void | ll_i2c_set_clock_low_period_hs (i2c_regs_t *I2Cx, uint32_t count)
| Get the SCL clock low-period count for high speed. More...
__STATIC_INLINE uint32_t | ll_i2c_get_clock_low_period_hs (i2c_regs_t *I2Cx)
| Get the SCL clock low-period count for high speed. More...
__STATIC_INLINE void | ll_i2c_set_spike_len_fs (i2c_regs_t *I2Cx, uint32_t length)
| Set the spike len in fast speed mode. More...
__STATIC_INLINE uint32_t | ll_i2c_get_spike_len_fs (i2c_regs_t *I2Cx)
| Get the spike len in fast speed mode. More...
__STATIC_INLINE void | ll_i2c_set_spike_len_hs (i2c_regs_t *I2Cx, uint32_t length)
| Set the spike len in high speed mode. More...
__STATIC_INLINE uint32_t | ll_i2c_get_spike_len_hs (i2c_regs_t *I2Cx)
| Get the spike len in high speed mode. More...
__STATIC_INLINE void | ll_i2c_set_speed_mode (i2c_regs_t *I2Cx, uint32_t speed_mode)
| Set I2C Speed mode. More...
__STATIC_INLINE uint32_t | ll_i2c_get_speed_mode (i2c_regs_t *I2Cx)
| Get I2C Speed mode. More...
__STATIC_INLINE void | ll_i2c_set_high_speed_master_code (i2c_regs_t *I2Cx, uint32_t code)
| Set I2C High Speed Master Code Address. More...
__STATIC_INLINE uint32_t | ll_i2c_get_high_speed_master_code (i2c_regs_t *I2Cx)
| Get I2C Speed mode. More...
__STATIC_INLINE void | ll_i2c_set_data_tx_hold_time (i2c_regs_t *I2Cx, uint32_t time)
| Set the required transmit SDA hold time in units of ic_clk period. More...
__STATIC_INLINE uint32_t | ll_i2c_get_data_tx_hold_time (i2c_regs_t *I2Cx)
| Get the required transmit SDA hold time in units of ic_clk period. More...
__STATIC_INLINE void | ll_i2c_set_data_rx_hold_time (i2c_regs_t *I2Cx, uint32_t time)
| Set the required receive SDA hold time in units of ic_clk period. More...
__STATIC_INLINE uint32_t | ll_i2c_get_data_rx_hold_time (i2c_regs_t *I2Cx)
| Get the required receive SDA hold time in units of ic_clk period. More...
__STATIC_INLINE void | ll_i2c_set_data_setup_time (i2c_regs_t *I2Cx, uint32_t time)
| Set the SDA setup time when operating as a slave transmitter. More...
__STATIC_INLINE uint32_t | ll_i2c_get_data_setup_time (i2c_regs_t *I2Cx)
| Get the SDA setup time when operating as a slave transmitter. More...
__STATIC_INLINE void | ll_i2c_set_tx_fifo_threshold (i2c_regs_t *I2Cx, uint32_t threshold)
| Set threshold of entries (or below) that trigger the TX_EMPTY interrupt. More...
__STATIC_INLINE uint32_t | ll_i2c_get_tx_fifo_threshold (i2c_regs_t *I2Cx)
| Get threshold of TX FIFO that triggers an THRE interrupt. More...
__STATIC_INLINE void | ll_i2c_set_rx_fifo_threshold (i2c_regs_t *I2Cx, uint32_t threshold)
| Set threshold of RX FIFO that triggers an RDA interrupt. More...
__STATIC_INLINE uint32_t | ll_i2c_get_rx_fifo_threshold (i2c_regs_t *I2Cx)
| Get threshold of RX FIFO that triggers an RDA interrupt. More...
__STATIC_INLINE uint32_t | ll_i2c_get_tx_fifo_level (i2c_regs_t *I2Cx)
| Get FIFO Transmission Level. More...
__STATIC_INLINE uint32_t | ll_i2c_get_rx_fifo_level (i2c_regs_t *I2Cx)
| Get FIFO reception Level. More...
__STATIC_INLINE void | ll_i2c_enable_transfer_abort (i2c_regs_t *I2Cx)
| Enable DMA reception requests. More...
__STATIC_INLINE uint32_t | ll_i2c_is_enabled_transfer_abort (i2c_regs_t *I2Cx)
| Check if DMA reception requests are enabled or disabled. More...
__STATIC_INLINE uint32_t | ll_i2c_get_abort_source (i2c_regs_t *I2Cx)
| Get the transmit abort source. More...
__STATIC_INLINE uint32_t | ll_i2c_get_tx_flush_count (i2c_regs_t *I2Cx)
| Get the number of Tx FIFO Data Commands which are flushed due to TX_ABRT interrupt. More...

## Detailed Description

## Function Documentation

## ◆ ll_i2c_disable()

__STATIC_INLINE void ll_i2c_disable | ( | i2c_regs_t * | I2Cx | ) |

Disable I2C peripheral (ENABLE = 0).

Note
  When ENABLE = 0, the TX FIFO and RX FIFO get flushed. Status bits in the IC_INTR_STAT register are still active until DW_apb_i2c goes into IDLE state. If the module is transmitting, it stops as well as deletes the contents of the transmit buffer after the current transfer is complete. If the module is receiving, the DW_apb_i2c stops the current transfer at the end of the current byte and does not acknowledge the transfer..

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ENABLE | ENABLE | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 368 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_disable_general_call()

__STATIC_INLINE void ll_i2c_disable_general_call | ( | i2c_regs_t * | I2Cx | ) |

Disable General Call(slave mode).

Note
  When disabled, the Address 0x00 is NACKed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ACK_GENERAL_CALL | ACK_GEN_CALL | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 485 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_disable_master_mode()

__STATIC_INLINE void ll_i2c_disable_master_mode | ( | i2c_regs_t * | I2Cx | ) |

Disable I2C master mode and enable slave mode.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | MASTER_ENABLE | +-------------------—+--------------------------------—+ \endrst IC_CON | SLAVE_DISABLE

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 425 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_disable_master_restart()

__STATIC_INLINE void ll_i2c_disable_master_restart | ( | i2c_regs_t * | I2Cx | ) |

Disable Master Restart.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | CON_RESTART_EN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 550 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_disable_stop_det_if_addressed()

__STATIC_INLINE void ll_i2c_disable_stop_det_if_addressed | ( | i2c_regs_t * | I2Cx | ) |

Disable Slave issues STOP_DET interrupt only if addressed function.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | STOP_DET_IF_ADDRESSED | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 613 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_enable()

__STATIC_INLINE void ll_i2c_enable | ( | i2c_regs_t * | I2Cx | ) |

Enable I2C peripheral (ENABLE = 1).

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ENABLE | ENABLE | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 344 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_enable_general_call()

__STATIC_INLINE void ll_i2c_enable_general_call | ( | i2c_regs_t * | I2Cx | ) |

Enable General Call(slave mode).

Note
  When enabled, the Address 0x00 is ACKed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ACK_GENERAL_CALL | ACK_GEN_CALL | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 465 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_enable_master_mode()

__STATIC_INLINE void ll_i2c_enable_master_mode | ( | i2c_regs_t * | I2Cx | ) |

Enable I2C master mode.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | MASTER_ENABLE | +-------------------—+--------------------------------—+ \endrst IC_CON | SLAVE_DISABLE

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 406 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_enable_master_restart()

__STATIC_INLINE void ll_i2c_enable_master_restart | ( | i2c_regs_t * | I2Cx | ) |

Enable Master Restart.

Note
  The register IC_CON can only be programmed when the I2C is disabled (ENABLE = 0). This bit determines whether RESTART conditions may be sent when acting as a master. Some older slaves do not support handling RESTART conditions. When RESTART is disabled, the master is prohibited from performing the following functions:
  - Performing any high-speed mode operation.
  - Performing direction changes in combined format mode.
  - Performing a read operation with a 10-bit address.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | CON_RESTART_EN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 530 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_enable_stop_det_if_addressed()

__STATIC_INLINE void ll_i2c_enable_stop_det_if_addressed | ( | i2c_regs_t * | I2Cx | ) |

Enable Slave issues STOP_DET interrupt only if addressed function.

Note
  The register IC_CON can only be programmed when the I2C is disabled (ENABLE = 0). During a general call address, the slave does not issue the STOP_DET interrupt if STOP_DET_IF_ADDRESSED = 1'b1, even if the slave responds to the general call address by generating ACK. The STOP_DET interrupt is generated only when the transmitted address matches the slave address (SAR).

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | STOP_DET_IF_ADDRESSED | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 593 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_enable_transfer_abort()

__STATIC_INLINE void ll_i2c_enable_transfer_abort | ( | i2c_regs_t * | I2Cx | ) |

Enable DMA reception requests.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ENABLE | ABORT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  None. |

Definition at line 1403 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_abort_source()

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

Get the transmit abort source.

Note
  This can be used to retrieve source of TX_ABRT interrupt.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_TX_ABRT_SOURCE | ABRT_USER_ABRT | +-------------------—+--------------------------------—+ \endrst IC_TX_ABRT_SOURCE | ABRT_SLVRD_INTX IC_TX_ABRT_SOURCE | ABRT_SLV_ARBLOST IC_TX_ABRT_SOURCE | ABRT_SLVFLUSH_TXFIFO IC_TX_ABRT_SOURCE | ABRT_ARB_LOST IC_TX_ABRT_SOURCE | ABRT_MST_DIS IC_TX_ABRT_SOURCE | ABRT_10B_RD_NORSTRT IC_TX_ABRT_SOURCE | ABRT_SBYTE_NORSTRT IC_TX_ABRT_SOURCE | ABRT_HS_NORSTRT IC_TX_ABRT_SOURCE | ABRT_SBYTE_ACKDET IC_TX_ABRT_SOURCE | ABRT_HS_ACKDET IC_TX_ABRT_SOURCE | ABRT_GCALL_READ IC_TX_ABRT_SOURCE | ABRT_GCALL_NOACK IC_TX_ABRT_SOURCE | ABRT_TXDATA_NOACK IC_TX_ABRT_SOURCE | ABRT_10ADDR2_NOACK IC_TX_ABRT_SOURCE | ABRT_10ADDR1_NOACK IC_TX_ABRT_SOURCE | ABRT_7B_ADDR_NOACK

Parameters

  I2Cx | I2C instance

Return values

  Returned | value can be a combination of the following values: LL_I2C_ABRT_USER_ABRT LL_I2C_ABRT_SLVRD_INTX LL_I2C_ABRT_SLV_ARBLOST LL_I2C_ABRT_SLVFLUSH_TXFIFO LL_I2C_ABRT_ARB_LOST LL_I2C_ABRT_MST_DIS LL_I2C_ABRT_10B_RD_NORSTRT LL_I2C_ABRT_SBYTE_NORSTRT LL_I2C_ABRT_HS_NORSTRT LL_I2C_ABRT_SBYTE_ACKDET LL_I2C_ABRT_HS_ACKDET LL_I2C_ABRT_GCALL_READ LL_I2C_ABRT_GCALL_NOACK LL_I2C_ABRT_TXDATA_NOACK LL_I2C_ABRT_10ADDR2_NOACK LL_I2C_ABRT_10ADDR1_NOACK LL_I2C_ABRT_7B_ADDR_NOACK

Note
  - LL_I2C_ABRT_TX_FLUSH_CNT can be used as a mask to get the number of Tx FIFO Data Commands which are flushed due to TX_ABRT interrupt.

Definition at line 1479 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_clock_high_period_fs()

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

Get the SCL clock high-period count for fast speed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_FS_SCL_HCNT | FS_SCL_HCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x6 and 0xFFFF.

Definition at line 824 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_clock_high_period_hs()

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

Get the SCL clock high-period count for high speed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_SCL_HCNT | HS_SCL_HCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  range | between 0x6 and 0xFFFF, should be larger than IC_HS_SPKLEN + 7.

Definition at line 904 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_clock_high_period_ss()

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

Get the SCL clock high-period count for standard speed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SS_SCL_HCNT | SS_SCL_HCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x6 and 0xFFF5.

Definition at line 744 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_clock_low_period_fs()

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

Get the SCL clock low-period count for fast speed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_FS_SCL_LCNT | FS_SCL_LCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x8 and 0xFFFF.

Definition at line 864 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_clock_low_period_hs()

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

Get the SCL clock low-period count for high speed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_SCL_LCNT | HS_SCL_LCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x8 and 0xFFFF

Definition at line 944 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_clock_low_period_ss()

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

Get the SCL clock low-period count for standard speed.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SS_SCL_LCNT | SS_SCL_LCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x8 and 0xFFFF.

Definition at line 784 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_data_rx_hold_time()

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

Get the required receive SDA hold time in units of ic_clk period.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SDA_HOLD | RX_HOLD | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 1 and (N_SCL_LOW - 2) in master mode or 7 and (N_SCL_LOW - 2) in slave mode

Definition at line 1192 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_data_setup_time()

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

Get the SDA setup time when operating as a slave transmitter.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SDA_SETUP | SDA_SETUP | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x02 and 0xFF.

Definition at line 1234 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_data_tx_hold_time()

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

Get the required transmit SDA hold time in units of ic_clk period.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SDA_HOLD | TX_HOLD | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 1 and (N_SCL_LOW - 2) in master mode or 7 and (N_SCL_LOW - 2) in slave mode

Definition at line 1151 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_high_speed_master_code()

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

Get I2C Speed mode.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_MADDR | HS_MAR | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Returned | value range between 0x00 and 0x07.

Definition at line 1110 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_master_addressing_mode()

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

Get the Master addressing mode.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | CON_10BITADDR_MST | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Returned | value can be one of the following values: LL_I2C_ADDRESSING_MODE_7BIT LL_I2C_ADDRESSING_MODE_10BIT

Definition at line 677 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_rx_fifo_level()

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

Get FIFO reception Level.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_RXFLR | RXFLR | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance

Return values

  Value | range between 0x0 and 0x8.

Definition at line 1384 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_rx_fifo_threshold()

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

Get threshold of RX FIFO that triggers an RDA interrupt.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_RX_TL | RX_TL | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance

Return values

  Returned | value can be one of the following values: LL_I2C_RX_FIFO_TH_CHAR_1 LL_I2C_RX_FIFO_TH_CHAR_2 LL_I2C_RX_FIFO_TH_CHAR_3 LL_I2C_RX_FIFO_TH_CHAR_4 LL_I2C_RX_FIFO_TH_CHAR_5 LL_I2C_RX_FIFO_TH_CHAR_6 LL_I2C_RX_FIFO_TH_CHAR_7 LL_I2C_RX_FIFO_TH_FULL

Definition at line 1346 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_speed_mode()

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

Get I2C Speed mode.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | SPEED | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | can be one of the following values: LL_I2C_SPEED_MODE_STANDARD LL_I2C_SPEED_MODE_FAST LL_I2C_SPEED_MODE_HIGH

Definition at line 1070 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_spike_len_fs()

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

Get the spike len in fast speed mode.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_FS_SPKLEN | FS_SPKLEN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x2 and 0xFF.

Definition at line 984 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_spike_len_hs()

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

Get the spike len in high speed mode.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_SPKLEN | HS_SPKLEN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  Value | range between 0x2 and 0xFF.

Definition at line 1024 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_tx_fifo_level()

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

Get FIFO Transmission Level.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_TXFLR | TXFLR | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance

Return values

  Value | range between 0x0 and 0x8.

Definition at line 1365 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_tx_fifo_threshold()

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

Get threshold of TX FIFO that triggers an THRE interrupt.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_TX_TL | TX_TL | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance

Return values

  Returned | value can be one of the following values: LL_I2C_TX_FIFO_TH_EMPTY LL_I2C_TX_FIFO_TH_CHAR_1 LL_I2C_TX_FIFO_TH_CHAR_2 LL_I2C_TX_FIFO_TH_CHAR_3 LL_I2C_TX_FIFO_TH_CHAR_4 LL_I2C_TX_FIFO_TH_CHAR_5 LL_I2C_TX_FIFO_TH_CHAR_6 LL_I2C_TX_FIFO_TH_CHAR_7

Definition at line 1290 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_get_tx_flush_count()

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

Get the number of Tx FIFO Data Commands which are flushed due to TX_ABRT interrupt.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_TX_ABRT_SOURCE | TX_FLUSH_CNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance

Return values

  Tx | flush count.

Definition at line 1498 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_is_enabled()

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

Check if the I2C peripheral is enabled or disabled.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ENABLE_STATUS | IC_EN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  State | of bit (1 or 0).

Definition at line 387 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_is_enabled_general_call()

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

Check if General Call is enabled or disabled(slave mode).

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ACK_GENERAL_CALL | ACK_GEN_CALL | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  State | of bit (1 or 0).

Definition at line 504 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_is_enabled_master_mode()

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

Check if I2C master mode is enabled or disabled.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | MASTER_ENABLE | +-------------------—+--------------------------------—+ \endrst IC_CON | SLAVE_DISABLE

Parameters

  I2Cx | I2C instance.

Return values

  State | of bit (1 or 0).

Definition at line 445 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_is_enabled_master_restart()

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

Check if Master Restart is enabled or disabled.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | CON_RESTART_EN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  State | of bit (1 or 0).

Definition at line 569 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_is_enabled_stop_det_if_addressed()

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

Check if Slave issues STOP_DET interrupt only if addressed function is enabled or disabled.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | STOP_DET_IF_ADDRESSED | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  State | of bit (1 or 0).

Definition at line 632 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_is_enabled_transfer_abort()

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

Check if DMA reception requests are enabled or disabled.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_ENABLE | ABORT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.

Return values

  State | of bit (1 or 0).

Definition at line 1422 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_clock_high_period_fs()

__STATIC_INLINE void ll_i2c_set_clock_high_period_fs | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | count
| ) |  |

Set the SCL clock high-period count for fast speed.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_FS_SCL_HCNT | FS_SCL_HCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  count | range between 0x6 and 0xFFFF.

Return values

  None. |

Definition at line 805 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_clock_high_period_hs()

__STATIC_INLINE void ll_i2c_set_clock_high_period_hs | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | count
| ) |  |

Get the SCL clock high-period count for high speed.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_SCL_HCNT | HS_SCL_HCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  count | range between 0x6 and 0xFFFF, should be larger than IC_HS_SPKLEN + 5.

Return values

  None. |

Definition at line 885 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_clock_high_period_ss()

__STATIC_INLINE void ll_i2c_set_clock_high_period_ss | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | count
| ) |  |

Set the SCL clock high-period count for standard speed.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SS_SCL_HCNT | SS_SCL_HCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  count | This parameter must be a value range between 6 ~ 0xFFF5.

Return values

  None. |

Definition at line 725 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_clock_low_period_fs()

__STATIC_INLINE void ll_i2c_set_clock_low_period_fs | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | count
| ) |  |

Set the SCL clock low-period count for fast speed.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_FS_SCL_LCNT | FS_SCL_LCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  count | range between 0x8 and 0xFFFF

Return values

  None. |

Definition at line 845 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_clock_low_period_hs()

__STATIC_INLINE void ll_i2c_set_clock_low_period_hs | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | count
| ) |  |

Get the SCL clock low-period count for high speed.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_SCL_LCNT | HS_SCL_LCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  count | range between 0x8 and 0xFFFF

Return values

  None. |

Definition at line 925 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_clock_low_period_ss()

__STATIC_INLINE void ll_i2c_set_clock_low_period_ss | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | count
| ) |  |

Set the SCL clock low-period count for standard speed.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SS_SCL_LCNT | SS_SCL_LCNT | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  count | This parameter must be a value range between 0x8 and 0xFFFF.

Return values

  None. |

Definition at line 765 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_data_rx_hold_time()

__STATIC_INLINE void ll_i2c_set_data_rx_hold_time | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | time
| ) |  |

Set the required receive SDA hold time in units of ic_clk period.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SDA_HOLD | RX_HOLD | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  time | SDA Tx hold time in units of ic_clk period. Time should range between 1 and (N_SCL_LOW - 2) in master mode or 7 and (N_SCL_LOW - 2) in slave mode.

Return values

  Value | between Min_Data=0x0 and Max_Data=0xF

Definition at line 1173 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_data_setup_time()

__STATIC_INLINE void ll_i2c_set_data_setup_time | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | time
| ) |  |

Set the SDA setup time when operating as a slave transmitter.

Note
  The register IC_SDA_SETUP can only be programmed when the I2C is disabled (ENABLE = 0). The length of setup time is calculated using [(IC_SDA_SETUP - 1) * (ic_clk_period)], so if the user requires 10 ic_clk periods of setup time, they should program a value of 11.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SDA_SETUP | SDA_SETUP | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  time | SDA data setup time in units of ic_clk period, range between 2 ~ 0xFF.

Return values

  None. |

Definition at line 1215 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_data_tx_hold_time()

__STATIC_INLINE void ll_i2c_set_data_tx_hold_time | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | time
| ) |  |

Set the required transmit SDA hold time in units of ic_clk period.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_SDA_HOLD | TX_HOLD | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  time | SDA Tx hold time in units of ic_clk period. Time should range between 1 and (N_SCL_LOW - 2) in master mode or 7 and (N_SCL_LOW - 2) in slave mode.

Return values

  None. |

Definition at line 1132 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_high_speed_master_code()

__STATIC_INLINE void ll_i2c_set_high_speed_master_code | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | code
| ) |  |

Set I2C High Speed Master Code Address.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_MADDR | HS_MAR | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  code | HS mode master code, range between 0x00 and 0x07.

Return values

  None. |

Definition at line 1091 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_master_addressing_mode()

__STATIC_INLINE void ll_i2c_set_master_addressing_mode | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | addressing_mode
| ) |  |

Configure the Master to transfers in 7-bit or 10-bit addressing mode.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | CON_10BITADDR_MST | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  addressing_mode | This parameter can be one of the following values: LL_I2C_ADDRESSING_MODE_7BIT LL_I2C_ADDRESSING_MODE_10BIT

Return values

  None. |

Definition at line 655 of file gr55xx_ll_i2c.h.

Referenced by ll_i2c_handle_transfer().

## ◆ ll_i2c_set_own_address()

__STATIC_INLINE void ll_i2c_set_own_address | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | own_address,
|  | uint32_t | own_addr_size
| ) |  |

Set the Own Address.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | CON_10BITADDR_SLV | +-------------------—+--------------------------------—+ \endrst IC_SAR | SAR

Parameters

  I2Cx | I2C instance.
  own_address | This parameter must be a value range between 0 ~ 0x3FF(10-bit mode) or 0 ~ 0x7F(7-bit mode). Reserved address 0x00 to 0x07, or 0x78 to 0x7f should not be configured.
  own_addr_size | This parameter can be one of the following values: LL_I2C_OWNADDRESS_7BIT LL_I2C_OWNADDRESS_10BIT

Return values

  None. |

Definition at line 703 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_rx_fifo_threshold()

__STATIC_INLINE void ll_i2c_set_rx_fifo_threshold | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | threshold
| ) |  |

Set threshold of RX FIFO that triggers an RDA interrupt.

Note
  TX FIFO threshold only can be configured after FIFO was enabled.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_RX_TL | RX_TL | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance
  threshold | This parameter can be one of the following values: LL_I2C_RX_FIFO_TH_CHAR_1 LL_I2C_RX_FIFO_TH_CHAR_2 LL_I2C_RX_FIFO_TH_CHAR_3 LL_I2C_RX_FIFO_TH_CHAR_4 LL_I2C_RX_FIFO_TH_CHAR_5 LL_I2C_RX_FIFO_TH_CHAR_6 LL_I2C_RX_FIFO_TH_CHAR_7 LL_I2C_RX_FIFO_TH_FULL

Return values

  None. |

Definition at line 1319 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_speed_mode()

__STATIC_INLINE void ll_i2c_set_speed_mode | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | speed_mode
| ) |  |

Set I2C Speed mode.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_CON | SPEED | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  speed_mode | This parameter can be one of the following values: LL_I2C_SPEED_MODE_STANDARD LL_I2C_SPEED_MODE_FAST LL_I2C_SPEED_MODE_HIGH

Return values

  None. |

Definition at line 1048 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_spike_len_fs()

__STATIC_INLINE void ll_i2c_set_spike_len_fs | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | length
| ) |  |

Set the spike len in fast speed mode.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_FS_SPKLEN | FS_SPKLEN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  length | Spike len.

Return values

  None. |

Definition at line 965 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_spike_len_hs()

__STATIC_INLINE void ll_i2c_set_spike_len_hs | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | length
| ) |  |

Set the spike len in high speed mode.

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

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_HS_SPKLEN | HS_SPKLEN | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance.
  length | Spike len.

Return values

  None. |

Definition at line 1005 of file gr55xx_ll_i2c.h.

## ◆ ll_i2c_set_tx_fifo_threshold()

__STATIC_INLINE void ll_i2c_set_tx_fifo_threshold | ( | i2c_regs_t * | I2Cx,
|  | uint32_t | threshold
| ) |  |

Set threshold of entries (or below) that trigger the TX_EMPTY interrupt.

Note
  TX FIFO threshold only can be configured after FIFO was enabled.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | IC_TX_TL | TX_TL | +-------------------—+--------------------------------—+ \endrst

Parameters

  I2Cx | I2C instance
  threshold | This parameter can be one of the following values: LL_I2C_TX_FIFO_TH_EMPTY LL_I2C_TX_FIFO_TH_CHAR_1 LL_I2C_TX_FIFO_TH_CHAR_2 LL_I2C_TX_FIFO_TH_CHAR_3 LL_I2C_TX_FIFO_TH_CHAR_4 LL_I2C_TX_FIFO_TH_CHAR_5 LL_I2C_TX_FIFO_TH_CHAR_6 LL_I2C_TX_FIFO_TH_CHAR_7

Return values

  None. |

Definition at line 1263 of file gr55xx_ll_i2c.h.