Struct rp_pac::i2c::regs::IcFsSclHcnt
source · #[repr(transparent)]pub struct IcFsSclHcnt(pub u32);
Expand description
Fast Mode or Fast Mode Plus I2C Clock SCL High Count Register
Tuple Fields§
§0: u32
Implementations§
source§impl IcFsSclHcnt
impl IcFsSclHcnt
sourcepub const fn ic_fs_scl_hcnt(&self) -> u16
pub const fn ic_fs_scl_hcnt(&self) -> u16
This register must be set before any I2C bus transaction can take place to ensure proper I/O timing. This register sets the SCL clock high-period count for fast mode or fast mode plus. It is used in high-speed mode to send the Master Code and START BYTE or General CALL. For more information, refer to ‘IC_CLK Frequency Configuration’. This register goes away and becomes read-only returning 0s if IC_MAX_SPEED_MODE = standard. This register can be written only when the I2C interface is disabled, which corresponds to the IC_ENABLE[0] register being set to 0. Writes at other times have no effect. The minimum valid value is 6; hardware prevents values less than this being written, and if attempted results in 6 being set. For designs with APB_DATA_WIDTH == 8 the order of programming is important to ensure the correct operation of the DW_apb_i2c. The lower byte must be programmed first. Then the upper byte is programmed.
sourcepub fn set_ic_fs_scl_hcnt(&mut self, val: u16)
pub fn set_ic_fs_scl_hcnt(&mut self, val: u16)
This register must be set before any I2C bus transaction can take place to ensure proper I/O timing. This register sets the SCL clock high-period count for fast mode or fast mode plus. It is used in high-speed mode to send the Master Code and START BYTE or General CALL. For more information, refer to ‘IC_CLK Frequency Configuration’. This register goes away and becomes read-only returning 0s if IC_MAX_SPEED_MODE = standard. This register can be written only when the I2C interface is disabled, which corresponds to the IC_ENABLE[0] register being set to 0. Writes at other times have no effect. The minimum valid value is 6; hardware prevents values less than this being written, and if attempted results in 6 being set. For designs with APB_DATA_WIDTH == 8 the order of programming is important to ensure the correct operation of the DW_apb_i2c. The lower byte must be programmed first. Then the upper byte is programmed.
Trait Implementations§
source§impl Clone for IcFsSclHcnt
impl Clone for IcFsSclHcnt
source§fn clone(&self) -> IcFsSclHcnt
fn clone(&self) -> IcFsSclHcnt
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for IcFsSclHcnt
impl Default for IcFsSclHcnt
source§fn default() -> IcFsSclHcnt
fn default() -> IcFsSclHcnt
source§impl PartialEq for IcFsSclHcnt
impl PartialEq for IcFsSclHcnt
impl Copy for IcFsSclHcnt
impl Eq for IcFsSclHcnt
impl StructuralPartialEq for IcFsSclHcnt
Auto Trait Implementations§
impl Freeze for IcFsSclHcnt
impl RefUnwindSafe for IcFsSclHcnt
impl Send for IcFsSclHcnt
impl Sync for IcFsSclHcnt
impl Unpin for IcFsSclHcnt
impl UnwindSafe for IcFsSclHcnt
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)