pub struct I2C1 { /* private fields */ }
Expand description
I2C (Inter-Integrated Circuit) Controller 1
Implementations§
Source§impl I2C1
impl I2C1
Sourcepub const PTR: *const RegisterBlock = {0x3f427000 as *const i2c0::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x3f427000 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 the SCL clock
Sourcepub fn scl_start_hold(&self) -> &SCL_START_HOLD
pub fn scl_start_hold(&self) -> &SCL_START_HOLD
0x40 - Configures the interval between pulling SDA low and pulling SCL low when the master generates a START condition
Sourcepub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
pub fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP
0x44 - Configures the interval 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 scl_filter_cfg(&self) -> &SCL_FILTER_CFG
pub fn scl_filter_cfg(&self) -> &SCL_FILTER_CFG
0x50 - SCL filter configuration register
Sourcepub fn sda_filter_cfg(&self) -> &SDA_FILTER_CFG
pub fn sda_filter_cfg(&self) -> &SDA_FILTER_CFG
0x54 - 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..0x98 - 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
0x98 - 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
0x9c - SCL main status time out register
Sourcepub fn scl_sp_conf(&self) -> &SCL_SP_CONF
pub fn scl_sp_conf(&self) -> &SCL_SP_CONF
0xa0 - Power configuration register
Sourcepub fn scl_stretch_conf(&self) -> &SCL_STRETCH_CONF
pub fn scl_stretch_conf(&self) -> &SCL_STRETCH_CONF
0xa4 - Set SCL stretch of I2C slave