Struct esp32c6::LP_I2C0

source ·
pub struct LP_I2C0 { /* private fields */ }
Expand description

Low-power I2C (Inter-Integrated Circuit) Controller 0

Implementations§

source§

impl LP_I2C0

source

pub const PTR: *const RegisterBlock = {0x600b1800 as *const lp_i2c0::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn i2c_scl_low_period(&self) -> &I2C_SCL_LOW_PERIOD

0x00 - Configures the low level width of the SCL Clock

source

pub fn i2c_ctr(&self) -> &I2C_CTR

0x04 - Transmission setting

source

pub fn i2c_sr(&self) -> &I2C_SR

0x08 - Describe I2C work status.

source

pub fn i2c_to(&self) -> &I2C_TO

0x0c - Setting time out control for receiving data.

source

pub fn i2c_fifo_st(&self) -> &I2C_FIFO_ST

0x14 - FIFO status register.

source

pub fn fifo_conf(&self) -> &FIFO_CONF

0x18 - FIFO configuration register.

source

pub fn i2c_data(&self) -> &I2C_DATA

0x1c - Rx FIFO read data.

source

pub fn i2c_int_raw(&self) -> &I2C_INT_RAW

0x20 - Raw interrupt status

source

pub fn i2c_int_clr(&self) -> &I2C_INT_CLR

0x24 - Interrupt clear bits

source

pub fn i2c_int_ena(&self) -> &I2C_INT_ENA

0x28 - Interrupt enable bits

source

pub fn i2c_int_status(&self) -> &I2C_INT_STATUS

0x2c - Status of captured I2C communication events

source

pub fn i2c_sda_hold(&self) -> &I2C_SDA_HOLD

0x30 - Configures the hold time after a negative SCL edge.

source

pub fn i2c_sda_sample(&self) -> &I2C_SDA_SAMPLE

0x34 - Configures the sample time after a positive SCL edge.

source

pub fn i2c_scl_high_period(&self) -> &I2C_SCL_HIGH_PERIOD

0x38 - Configures the high level width of SCL

source

pub fn i2c_scl_start_hold(&self) -> &I2C_SCL_START_HOLD

0x40 - Configures the delay between the SDA and SCL negative edge for a start condition

source

pub fn i2c_scl_rstart_setup(&self) -> &I2C_SCL_RSTART_SETUP

0x44 - Configures the delay between the positive edge of SCL and the negative edge of SDA

source

pub fn i2c_scl_stop_hold(&self) -> &I2C_SCL_STOP_HOLD

0x48 - Configures the delay after the SCL clock edge for a stop condition

source

pub fn i2c_scl_stop_setup(&self) -> &I2C_SCL_STOP_SETUP

0x4c - Configures the delay between the SDA and SCL positive edge for a stop condition

source

pub fn i2c_filter_cfg(&self) -> &I2C_FILTER_CFG

0x50 - SCL and SDA filter configuration register

source

pub fn i2c_clk_conf(&self) -> &I2C_CLK_CONF

0x54 - I2C CLK configuration register

source

pub fn i2c_comd0(&self) -> &I2C_COMD0

0x58 - I2C command register 0

source

pub fn i2c_comd1(&self) -> &I2C_COMD1

0x5c - I2C command register 1

source

pub fn i2c_comd2(&self) -> &I2C_COMD2

0x60 - I2C command register 2

source

pub fn i2c_comd3(&self) -> &I2C_COMD3

0x64 - I2C command register 3

source

pub fn i2c_comd4(&self) -> &I2C_COMD4

0x68 - I2C command register 4

source

pub fn i2c_comd5(&self) -> &I2C_COMD5

0x6c - I2C command register 5

source

pub fn i2c_comd6(&self) -> &I2C_COMD6

0x70 - I2C command register 6

source

pub fn i2c_comd7(&self) -> &I2C_COMD7

0x74 - I2C command register 7

source

pub fn i2c_scl_st_time_out(&self) -> &I2C_SCL_ST_TIME_OUT

0x78 - SCL status time out register

source

pub fn i2c_scl_main_st_time_out(&self) -> &I2C_SCL_MAIN_ST_TIME_OUT

0x7c - SCL main status time out register

source

pub fn i2c_scl_sp_conf(&self) -> &I2C_SCL_SP_CONF

0x80 - Power configuration register

source

pub fn i2c_date(&self) -> &I2C_DATE

0xf8 - Version register

source

pub fn i2c_txfifo_start_addr(&self) -> &I2C_TXFIFO_START_ADDR

0x100 - I2C TXFIFO base address register

source

pub fn i2c_rxfifo_start_addr(&self) -> &I2C_RXFIFO_START_ADDR

0x180 - I2C RXFIFO base address register

Trait Implementations§

source§

impl Debug for LP_I2C0

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for LP_I2C0

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for LP_I2C0

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.