Struct rp2040_pac::i2c0::ic_sda_setup::IC_SDA_SETUP_SPEC
source · pub struct IC_SDA_SETUP_SPEC;
Expand description
I2C SDA Setup Register
This register controls the amount of time delay (in terms of number of ic_clk clock periods) introduced in the rising edge of SCL - relative to SDA changing - when DW_apb_i2c services a read request in a slave-transmitter operation. The relevant I2C requirement is tSU:DAT (note 4) as detailed in the I2C Bus Specification. This register must be programmed with a value equal to or greater than 2.
Writes to this register succeed only when IC_ENABLE[0] = 0.
Note: The length of setup time is calculated using [(IC_SDA_SETUP - 1) * (ic_clk_period)], so if the user requires 10 ic_clk periods of setup time, they should program a value of 11. The IC_SDA_SETUP register is only used by the DW_apb_i2c when operating as a slave transmitter.
You can read
this register and get ic_sda_setup::R
. You can reset
, write
, write_with_zero
this register using ic_sda_setup::W
. You can also modify
this register. See API.
Trait Implementations§
source§impl RegisterSpec for IC_SDA_SETUP_SPEC
impl RegisterSpec for IC_SDA_SETUP_SPEC
source§impl Resettable for IC_SDA_SETUP_SPEC
impl Resettable for IC_SDA_SETUP_SPEC
reset()
method sets IC_SDA_SETUP to value 0x64
source§const RESET_VALUE: u32 = 100u32
const RESET_VALUE: u32 = 100u32
source§fn reset_value() -> Self::Ux
fn reset_value() -> Self::Ux
source§impl Writable for IC_SDA_SETUP_SPEC
impl Writable for IC_SDA_SETUP_SPEC
write(|w| ..)
method takes ic_sda_setup::W
writer structure
source§const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0u32
const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0u32
1
and are changed if you pass 0
source§const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0u32
const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0u32
0
and are changed if you pass 1
impl Readable for IC_SDA_SETUP_SPEC
read()
method returns ic_sda_setup::R
reader structure