pub struct I2C0 { /* private fields */ }
Expand description
I2C (Inter-Integrated Circuit) Controller 0
Implementations§
source§impl I2C0
impl I2C0
sourcepub const PTR: *const RegisterBlock = {0x60013000 as *const i2c0::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x60013000 as *const i2c0::RegisterBlock}
Pointer to the register block
sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
sourcepub unsafe fn steal() -> Self
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>§
sourcepub fn scl_low_period(&self) -> &SCL_LOW_PERIOD
pub fn scl_low_period(&self) -> &SCL_LOW_PERIOD
0x00 - I2C_SCL_LOW_PERIOD_REG
sourcepub fn slave_addr(&self) -> &SLAVE_ADDR
pub fn slave_addr(&self) -> &SLAVE_ADDR
0x10 - I2C_SLAVE_ADDR_REG
sourcepub fn sda_sample(&self) -> &SDA_SAMPLE
pub fn sda_sample(&self) -> &SDA_SAMPLE
0x34 - I2C_SDA_SAMPLE_REG
sourcepub fn scl_high_period(&self) -> &SCL_HIGH_PERIOD
pub fn scl_high_period(&self) -> &SCL_HIGH_PERIOD
0x38 - I2C_SCL_HIGH_PERIOD_REG
sourcepub fn scl_start_hold(&self) -> &SCL_START_HOLD
pub fn scl_start_hold(&self) -> &SCL_START_HOLD
0x40 - I2C_SCL_START_HOLD_REG
sourcepub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
pub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
0x44 - I2C_SCL_RSTART_SETUP_REG
sourcepub fn scl_stop_hold(&self) -> &SCL_STOP_HOLD
pub fn scl_stop_hold(&self) -> &SCL_STOP_HOLD
0x48 - I2C_SCL_STOP_HOLD_REG
sourcepub fn scl_stop_setup(&self) -> &SCL_STOP_SETUP
pub fn scl_stop_setup(&self) -> &SCL_STOP_SETUP
0x4c - I2C_SCL_STOP_SETUP_REG
sourcepub fn filter_cfg(&self) -> &FILTER_CFG
pub fn filter_cfg(&self) -> &FILTER_CFG
0x50 - I2C_FILTER_CFG_REG
sourcepub fn comd_iter(&self) -> impl Iterator<Item = &COMD>
pub fn comd_iter(&self) -> impl Iterator<Item = &COMD>
Iterator for array of: 0x58..0x78 - I2C_COMD%s_REG
sourcepub fn scl_st_time_out(&self) -> &SCL_ST_TIME_OUT
pub fn scl_st_time_out(&self) -> &SCL_ST_TIME_OUT
0x78 - I2C_SCL_ST_TIME_OUT_REG
sourcepub fn scl_main_st_time_out(&self) -> &SCL_MAIN_ST_TIME_OUT
pub fn scl_main_st_time_out(&self) -> &SCL_MAIN_ST_TIME_OUT
0x7c - I2C_SCL_MAIN_ST_TIME_OUT_REG
sourcepub fn scl_sp_conf(&self) -> &SCL_SP_CONF
pub fn scl_sp_conf(&self) -> &SCL_SP_CONF
0x80 - I2C_SCL_SP_CONF_REG
sourcepub fn scl_stretch_conf(&self) -> &SCL_STRETCH_CONF
pub fn scl_stretch_conf(&self) -> &SCL_STRETCH_CONF
0x84 - I2C_SCL_STRETCH_CONF_REG
sourcepub fn txfifo_start_addr(&self) -> &TXFIFO_START_ADDR
pub fn txfifo_start_addr(&self) -> &TXFIFO_START_ADDR
0x100 - I2C_TXFIFO_START_ADDR_REG
sourcepub fn rxfifo_start_addr(&self) -> &RXFIFO_START_ADDR
pub fn rxfifo_start_addr(&self) -> &RXFIFO_START_ADDR
0x180 - I2C_RXFIFO_START_ADDR_REG