Struct esp32c3::I2C0

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

I2C (Inter-Integrated Circuit) Controller 0

Implementations§

source§

impl I2C0

source

pub const PTR: *const RegisterBlock = {0x60013000 as *const 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 scl_low_period(&self) -> &SCL_LOW_PERIOD

0x00 - I2C_SCL_LOW_PERIOD_REG

source

pub fn ctr(&self) -> &CTR

0x04 - I2C_CTR_REG

source

pub fn sr(&self) -> &SR

0x08 - I2C_SR_REG

source

pub fn to(&self) -> &TO

0x0c - I2C_TO_REG

source

pub fn slave_addr(&self) -> &SLAVE_ADDR

0x10 - I2C_SLAVE_ADDR_REG

source

pub fn fifo_st(&self) -> &FIFO_ST

0x14 - I2C_FIFO_ST_REG

source

pub fn fifo_conf(&self) -> &FIFO_CONF

0x18 - I2C_FIFO_CONF_REG

source

pub fn data(&self) -> &DATA

0x1c - I2C_FIFO_DATA_REG

source

pub fn int_raw(&self) -> &INT_RAW

0x20 - I2C_INT_RAW_REG

source

pub fn int_clr(&self) -> &INT_CLR

0x24 - I2C_INT_CLR_REG

source

pub fn int_ena(&self) -> &INT_ENA

0x28 - I2C_INT_ENA_REG

source

pub fn int_st(&self) -> &INT_ST

0x2c - I2C_INT_STATUS_REG

source

pub fn sda_hold(&self) -> &SDA_HOLD

0x30 - I2C_SDA_HOLD_REG

source

pub fn sda_sample(&self) -> &SDA_SAMPLE

0x34 - I2C_SDA_SAMPLE_REG

source

pub fn scl_high_period(&self) -> &SCL_HIGH_PERIOD

0x38 - I2C_SCL_HIGH_PERIOD_REG

source

pub fn scl_start_hold(&self) -> &SCL_START_HOLD

0x40 - I2C_SCL_START_HOLD_REG

source

pub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP

0x44 - I2C_SCL_RSTART_SETUP_REG

source

pub fn scl_stop_hold(&self) -> &SCL_STOP_HOLD

0x48 - I2C_SCL_STOP_HOLD_REG

source

pub fn scl_stop_setup(&self) -> &SCL_STOP_SETUP

0x4c - I2C_SCL_STOP_SETUP_REG

source

pub fn filter_cfg(&self) -> &FILTER_CFG

0x50 - I2C_FILTER_CFG_REG

source

pub fn clk_conf(&self) -> &CLK_CONF

0x54 - I2C_CLK_CONF_REG

source

pub fn comd(&self, n: usize) -> &COMD

0x58..0x78 - I2C_COMD%s_REG

source

pub fn comd_iter(&self) -> impl Iterator<Item = &COMD>

Iterator for array of: 0x58..0x78 - I2C_COMD%s_REG

source

pub fn scl_st_time_out(&self) -> &SCL_ST_TIME_OUT

0x78 - I2C_SCL_ST_TIME_OUT_REG

source

pub fn scl_main_st_time_out(&self) -> &SCL_MAIN_ST_TIME_OUT

0x7c - I2C_SCL_MAIN_ST_TIME_OUT_REG

source

pub fn scl_sp_conf(&self) -> &SCL_SP_CONF

0x80 - I2C_SCL_SP_CONF_REG

source

pub fn scl_stretch_conf(&self) -> &SCL_STRETCH_CONF

0x84 - I2C_SCL_STRETCH_CONF_REG

source

pub fn date(&self) -> &DATE

0xf8 - I2C_DATE_REG

source

pub fn txfifo_start_addr(&self) -> &TXFIFO_START_ADDR

0x100 - I2C_TXFIFO_START_ADDR_REG

source

pub fn rxfifo_start_addr(&self) -> &RXFIFO_START_ADDR

0x180 - I2C_RXFIFO_START_ADDR_REG

Trait Implementations§

source§

impl Debug for I2C0

source§

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

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

impl Deref for I2C0

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl Send for I2C0

Auto Trait Implementations§

§

impl Freeze for I2C0

§

impl RefUnwindSafe for I2C0

§

impl !Sync for I2C0

§

impl Unpin for I2C0

§

impl UnwindSafe for I2C0

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.