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. |