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... | |
| __STATIC_INLINE void ll_i2c_disable | ( | i2c_regs_t * | I2Cx | ) |
Disable I2C peripheral (ENABLE = 0).
| Register | BitsName |
|---|---|
| IC_ENABLE | ENABLE |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_disable_general_call | ( | i2c_regs_t * | I2Cx | ) |
Disable General Call(slave mode).
| Register | BitsName |
|---|---|
| IC_ACK_GENERAL_CALL | ACK_GEN_CALL |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_disable_master_mode | ( | i2c_regs_t * | I2Cx | ) |
Disable I2C master mode and enable slave mode.
| Register | BitsName |
|---|---|
| IC_CON | MASTER_ENABLE |
| IC_CON | SLAVE_DISABLE |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_disable_master_restart | ( | i2c_regs_t * | I2Cx | ) |
Disable Master Restart.
| Register | BitsName |
|---|---|
| IC_CON | CON_RESTART_EN |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_disable_stop_det_if_addressed | ( | i2c_regs_t * | I2Cx | ) |
Disable Slave issues STOP_DET interrupt only if addressed function.
| Register | BitsName |
|---|---|
| IC_CON | STOP_DET_IF_ADDRESSED |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_enable | ( | i2c_regs_t * | I2Cx | ) |
Enable I2C peripheral (ENABLE = 1).
| Register | BitsName |
|---|---|
| IC_ENABLE | ENABLE |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_enable_general_call | ( | i2c_regs_t * | I2Cx | ) |
Enable General Call(slave mode).
| Register | BitsName |
|---|---|
| IC_ACK_GENERAL_CALL | ACK_GEN_CALL |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_enable_master_mode | ( | i2c_regs_t * | I2Cx | ) |
Enable I2C master mode.
| Register | BitsName |
|---|---|
| IC_CON | MASTER_ENABLE |
| IC_CON | SLAVE_DISABLE |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_enable_master_restart | ( | i2c_regs_t * | I2Cx | ) |
Enable Master Restart.
| Register | BitsName |
|---|---|
| IC_CON | CON_RESTART_EN |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_enable_stop_det_if_addressed | ( | i2c_regs_t * | I2Cx | ) |
Enable Slave issues STOP_DET interrupt only if addressed function.
| Register | BitsName |
|---|---|
| IC_CON | STOP_DET_IF_ADDRESSED |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE void ll_i2c_enable_transfer_abort | ( | i2c_regs_t * | I2Cx | ) |
Enable DMA reception requests.
| Register | BitsName |
|---|---|
| IC_ENABLE | ABORT |
| I2Cx | I2C instance. |
| None. |
| __STATIC_INLINE uint32_t ll_i2c_get_abort_source | ( | i2c_regs_t * | I2Cx | ) |
Get the transmit abort source.
| Register | BitsName |
|---|---|
| IC_TX_ABRT_SOURCE | ABRT_USER_ABRT |
| 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 |
| I2Cx | I2C instance |
| __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.
| Register | BitsName |
|---|---|
| IC_FS_SCL_HCNT | FS_SCL_HCNT |
| I2Cx | I2C instance. |
| Value | range between 0x6 and 0xFFFF. |
| __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.
| Register | BitsName |
|---|---|
| IC_HS_SCL_HCNT | HS_SCL_HCNT |
| I2Cx | I2C instance. |
| range | between 0x6 and 0xFFFF, should be larger than IC_HS_SPKLEN + 7. |
| __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.
| Register | BitsName |
|---|---|
| IC_SS_SCL_HCNT | SS_SCL_HCNT |
| I2Cx | I2C instance. |
| Value | range between 0x6 and 0xFFF5. |
| __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.
| Register | BitsName |
|---|---|
| IC_FS_SCL_LCNT | FS_SCL_LCNT |
| I2Cx | I2C instance. |
| Value | range between 0x8 and 0xFFFF. |
| __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.
| Register | BitsName |
|---|---|
| IC_HS_SCL_LCNT | HS_SCL_LCNT |
| I2Cx | I2C instance. |
| Value | range between 0x8 and 0xFFFF |
| __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.
| Register | BitsName |
|---|---|
| IC_SS_SCL_LCNT | SS_SCL_LCNT |
| I2Cx | I2C instance. |
| Value | range between 0x8 and 0xFFFF. |
| __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.
| Register | BitsName |
|---|---|
| IC_SDA_HOLD | RX_HOLD |
| I2Cx | I2C instance. |
| Value | range between 1 and (N_SCL_LOW - 2) in master mode or 7 and (N_SCL_LOW - 2) in slave mode |
| __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.
| Register | BitsName |
|---|---|
| IC_SDA_SETUP | SDA_SETUP |
| I2Cx | I2C instance. |
| Value | range between 0x02 and 0xFF. |
| __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.
| Register | BitsName |
|---|---|
| IC_SDA_HOLD | TX_HOLD |
| I2Cx | I2C instance. |
| Value | range between 1 and (N_SCL_LOW - 2) in master mode or 7 and (N_SCL_LOW - 2) in slave mode |
| __STATIC_INLINE uint32_t ll_i2c_get_high_speed_master_code | ( | i2c_regs_t * | I2Cx | ) |
Get I2C Speed mode.
| Register | BitsName |
|---|---|
| IC_HS_MADDR | HS_MAR |
| I2Cx | I2C instance. |
| Returned | value range between 0x00 and 0x07. |
| __STATIC_INLINE uint32_t ll_i2c_get_master_addressing_mode | ( | i2c_regs_t * | I2Cx | ) |
Get the Master addressing mode.
| Register | BitsName |
|---|---|
| IC_CON | CON_10BITADDR_MST |
| I2Cx | I2C instance. |
| Returned | value can be one of the following values: |
| __STATIC_INLINE uint32_t ll_i2c_get_rx_fifo_level | ( | i2c_regs_t * | I2Cx | ) |
Get FIFO reception Level.
| Register | BitsName |
|---|---|
| IC_RXFLR | RXFLR |
| I2Cx | I2C instance |
| Value | range between 0x0 and 0x8. |
| __STATIC_INLINE uint32_t ll_i2c_get_rx_fifo_threshold | ( | i2c_regs_t * | I2Cx | ) |
Get threshold of RX FIFO that triggers an RDA interrupt.
| Register | BitsName |
|---|---|
| IC_RX_TL | RX_TL |
| I2Cx | I2C instance |
| Returned | value can be one of the following values: |
| __STATIC_INLINE uint32_t ll_i2c_get_speed_mode | ( | i2c_regs_t * | I2Cx | ) |
Get I2C Speed mode.
| Register | BitsName |
|---|---|
| IC_CON | SPEED |
| I2Cx | I2C instance. |
| Value | can be one of the following values: |
| __STATIC_INLINE uint32_t ll_i2c_get_spike_len_fs | ( | i2c_regs_t * | I2Cx | ) |
Get the spike len in fast speed mode.
| Register | BitsName |
|---|---|
| IC_FS_SPKLEN | FS_SPKLEN |
| I2Cx | I2C instance. |
| Value | range between 0x2 and 0xFF. |
| __STATIC_INLINE uint32_t ll_i2c_get_spike_len_hs | ( | i2c_regs_t * | I2Cx | ) |
Get the spike len in high speed mode.
| Register | BitsName |
|---|---|
| IC_HS_SPKLEN | HS_SPKLEN |
| I2Cx | I2C instance. |
| Value | range between 0x2 and 0xFF. |
| __STATIC_INLINE uint32_t ll_i2c_get_tx_fifo_level | ( | i2c_regs_t * | I2Cx | ) |
Get FIFO Transmission Level.
| Register | BitsName |
|---|---|
| IC_TXFLR | TXFLR |
| I2Cx | I2C instance |
| Value | range between 0x0 and 0x8. |
| __STATIC_INLINE uint32_t ll_i2c_get_tx_fifo_threshold | ( | i2c_regs_t * | I2Cx | ) |
Get threshold of TX FIFO that triggers an THRE interrupt.
| Register | BitsName |
|---|---|
| IC_TX_TL | TX_TL |
| I2Cx | I2C instance |
| Returned | value can be one of the following values: |
| __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.
| Register | BitsName |
|---|---|
| IC_TX_ABRT_SOURCE | TX_FLUSH_CNT |
| I2Cx | I2C instance |
| Tx | flush count. |
| __STATIC_INLINE uint32_t ll_i2c_is_enabled | ( | i2c_regs_t * | I2Cx | ) |
Check if the I2C peripheral is enabled or disabled.
| Register | BitsName |
|---|---|
| IC_ENABLE_STATUS | IC_EN |
| I2Cx | I2C instance. |
| State | of bit (1 or 0). |
| __STATIC_INLINE uint32_t ll_i2c_is_enabled_general_call | ( | i2c_regs_t * | I2Cx | ) |
Check if General Call is enabled or disabled(slave mode).
| Register | BitsName |
|---|---|
| IC_ACK_GENERAL_CALL | ACK_GEN_CALL |
| I2Cx | I2C instance. |
| State | of bit (1 or 0). |
| __STATIC_INLINE uint32_t ll_i2c_is_enabled_master_mode | ( | i2c_regs_t * | I2Cx | ) |
Check if I2C master mode is enabled or disabled.
| Register | BitsName |
|---|---|
| IC_CON | MASTER_ENABLE |
| IC_CON | SLAVE_DISABLE |
| I2Cx | I2C instance. |
| State | of bit (1 or 0). |
| __STATIC_INLINE uint32_t ll_i2c_is_enabled_master_restart | ( | i2c_regs_t * | I2Cx | ) |
Check if Master Restart is enabled or disabled.
| Register | BitsName |
|---|---|
| IC_CON | CON_RESTART_EN |
| I2Cx | I2C instance. |
| State | of bit (1 or 0). |
| __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.
| Register | BitsName |
|---|---|
| IC_CON | STOP_DET_IF_ADDRESSED |
| I2Cx | I2C instance. |
| State | of bit (1 or 0). |
| __STATIC_INLINE uint32_t ll_i2c_is_enabled_transfer_abort | ( | i2c_regs_t * | I2Cx | ) |
Check if DMA reception requests are enabled or disabled.
| Register | BitsName |
|---|---|
| IC_ENABLE | ABORT |
| I2Cx | I2C instance. |
| State | of bit (1 or 0). |
| __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.
| Register | BitsName |
|---|---|
| IC_FS_SCL_HCNT | FS_SCL_HCNT |
| I2Cx | I2C instance. |
| count | range between 0x6 and 0xFFFF. |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_HS_SCL_HCNT | HS_SCL_HCNT |
| I2Cx | I2C instance. |
| count | range between 0x6 and 0xFFFF, should be larger than IC_HS_SPKLEN + 5. |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_SS_SCL_HCNT | SS_SCL_HCNT |
| I2Cx | I2C instance. |
| count | This parameter must be a value range between 6 ~ 0xFFF5. |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_FS_SCL_LCNT | FS_SCL_LCNT |
| I2Cx | I2C instance. |
| count | range between 0x8 and 0xFFFF |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_HS_SCL_LCNT | HS_SCL_LCNT |
| I2Cx | I2C instance. |
| count | range between 0x8 and 0xFFFF |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_SS_SCL_LCNT | SS_SCL_LCNT |
| I2Cx | I2C instance. |
| count | This parameter must be a value range between 0x8 and 0xFFFF. |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_SDA_HOLD | RX_HOLD |
| 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. |
| Value | between Min_Data=0x0 and Max_Data=0xF |
| __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.
| Register | BitsName |
|---|---|
| IC_SDA_SETUP | SDA_SETUP |
| I2Cx | I2C instance. |
| time | SDA data setup time in units of ic_clk period, range between 2 ~ 0xFF. |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_SDA_HOLD | TX_HOLD |
| 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. |
| None. |
| __STATIC_INLINE void ll_i2c_set_high_speed_master_code | ( | i2c_regs_t * | I2Cx, |
| uint32_t | code | ||
| ) |
Set I2C High Speed Master Code Address.
| Register | BitsName |
|---|---|
| IC_HS_MADDR | HS_MAR |
| I2Cx | I2C instance. |
| code | HS mode master code, range between 0x00 and 0x07. |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_CON | CON_10BITADDR_MST |
| I2Cx | I2C instance. |
| addressing_mode | This parameter can be one of the following values: |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_CON | CON_10BITADDR_SLV |
| IC_SAR | SAR |
| 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: |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_RX_TL | RX_TL |
| I2Cx | I2C instance |
| threshold | This parameter can be one of the following values: |
| None. |
| __STATIC_INLINE void ll_i2c_set_speed_mode | ( | i2c_regs_t * | I2Cx, |
| uint32_t | speed_mode | ||
| ) |
Set I2C Speed mode.
| Register | BitsName |
|---|---|
| IC_CON | SPEED |
| I2Cx | I2C instance. |
| speed_mode | This parameter can be one of the following values: |
| None. |
| __STATIC_INLINE void ll_i2c_set_spike_len_fs | ( | i2c_regs_t * | I2Cx, |
| uint32_t | length | ||
| ) |
Set the spike len in fast speed mode.
| Register | BitsName |
|---|---|
| IC_FS_SPKLEN | FS_SPKLEN |
| I2Cx | I2C instance. |
| length | Spike len. |
| None. |
| __STATIC_INLINE void ll_i2c_set_spike_len_hs | ( | i2c_regs_t * | I2Cx, |
| uint32_t | length | ||
| ) |
Set the spike len in high speed mode.
| Register | BitsName |
|---|---|
| IC_HS_SPKLEN | HS_SPKLEN |
| I2Cx | I2C instance. |
| length | Spike len. |
| None. |
| __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.
| Register | BitsName |
|---|---|
| IC_TX_TL | TX_TL |
| I2Cx | I2C instance |
| threshold | This parameter can be one of the following values: |
| None. |