pub struct I2C0 { /* private fields */ }
Expand description
I2C (Inter-Integrated Circuit) Controller 0
Implementations§
source§impl I2C0
impl I2C0
sourcepub const PTR: *const RegisterBlock = {0x60004000 as *const i2c0::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x60004000 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 - Configures the low level width of the SCL Clock
sourcepub fn slave_addr(&self) -> &SLAVE_ADDR
pub fn slave_addr(&self) -> &SLAVE_ADDR
0x10 - Local slave address setting
sourcepub fn sda_sample(&self) -> &SDA_SAMPLE
pub fn sda_sample(&self) -> &SDA_SAMPLE
0x34 - Configures the sample time after a positive SCL edge.
sourcepub fn scl_high_period(&self) -> &SCL_HIGH_PERIOD
pub fn scl_high_period(&self) -> &SCL_HIGH_PERIOD
0x38 - Configures the high level width of SCL
sourcepub fn scl_start_hold(&self) -> &SCL_START_HOLD
pub fn scl_start_hold(&self) -> &SCL_START_HOLD
0x40 - Configures the delay between the SDA and SCL negative edge for a start condition
sourcepub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
pub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
0x44 - Configures the delay between the positive edge of SCL and the negative edge of SDA
sourcepub fn scl_stop_hold(&self) -> &SCL_STOP_HOLD
pub fn scl_stop_hold(&self) -> &SCL_STOP_HOLD
0x48 - Configures the delay after the SCL clock edge for a stop condition
sourcepub fn scl_stop_setup(&self) -> &SCL_STOP_SETUP
pub fn scl_stop_setup(&self) -> &SCL_STOP_SETUP
0x4c - Configures the delay between the SDA and SCL positive edge for a stop condition
sourcepub fn filter_cfg(&self) -> &FILTER_CFG
pub fn filter_cfg(&self) -> &FILTER_CFG
0x50 - SCL and SDA filter configuration register
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 command register %s
sourcepub fn scl_st_time_out(&self) -> &SCL_ST_TIME_OUT
pub fn scl_st_time_out(&self) -> &SCL_ST_TIME_OUT
0x78 - SCL status time out register
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 - SCL main status time out register
sourcepub fn scl_sp_conf(&self) -> &SCL_SP_CONF
pub fn scl_sp_conf(&self) -> &SCL_SP_CONF
0x80 - Power configuration register
sourcepub fn scl_stretch_conf(&self) -> &SCL_STRETCH_CONF
pub fn scl_stretch_conf(&self) -> &SCL_STRETCH_CONF
0x84 - Set SCL stretch of I2C slave
sourcepub fn txfifo_start_addr(&self) -> &TXFIFO_START_ADDR
pub fn txfifo_start_addr(&self) -> &TXFIFO_START_ADDR
0x100 - I2C TXFIFO base address register
sourcepub fn rxfifo_start_addr(&self) -> &RXFIFO_START_ADDR
pub fn rxfifo_start_addr(&self) -> &RXFIFO_START_ADDR
0x180 - I2C RXFIFO base address register