#[repr(transparent)]pub struct IcSdaHold(pub u32);
Expand description
I2C SDA Hold Time Length Register The bits [15:0] of this register are used to control the hold time of SDA during transmit in both slave and master mode (after SCL goes from HIGH to LOW). The bits [23:16] of this register are used to extend the SDA transition (if any) whenever SCL is HIGH in the receiver in either master or slave mode. Writes to this register succeed only when IC_ENABLE[0]=0. The values in this register are in units of ic_clk period. The value programmed in IC_SDA_TX_HOLD must be greater than the minimum hold time in each mode (one cycle in master mode, seven cycles in slave mode) for the value to be implemented. The programmed SDA hold time during transmit (IC_SDA_TX_HOLD) cannot exceed at any time the duration of the low part of scl. Therefore the programmed value cannot be larger than N_SCL_LOW-2, where N_SCL_LOW is the duration of the low part of the scl period measured in ic_clk cycles.
Tuple Fields§
§0: u32
Implementations§
source§impl IcSdaHold
impl IcSdaHold
sourcepub const fn ic_sda_tx_hold(&self) -> u16
pub const fn ic_sda_tx_hold(&self) -> u16
Sets the required SDA hold time in units of ic_clk period, when DW_apb_i2c acts as a transmitter. Reset value: IC_DEFAULT_SDA_HOLD[15:0].
sourcepub fn set_ic_sda_tx_hold(&mut self, val: u16)
pub fn set_ic_sda_tx_hold(&mut self, val: u16)
Sets the required SDA hold time in units of ic_clk period, when DW_apb_i2c acts as a transmitter. Reset value: IC_DEFAULT_SDA_HOLD[15:0].
sourcepub const fn ic_sda_rx_hold(&self) -> u8
pub const fn ic_sda_rx_hold(&self) -> u8
Sets the required SDA hold time in units of ic_clk period, when DW_apb_i2c acts as a receiver. Reset value: IC_DEFAULT_SDA_HOLD[23:16].
sourcepub fn set_ic_sda_rx_hold(&mut self, val: u8)
pub fn set_ic_sda_rx_hold(&mut self, val: u8)
Sets the required SDA hold time in units of ic_clk period, when DW_apb_i2c acts as a receiver. Reset value: IC_DEFAULT_SDA_HOLD[23:16].
Trait Implementations§
impl Copy for IcSdaHold
impl Eq for IcSdaHold
impl StructuralPartialEq for IcSdaHold
Auto Trait Implementations§
impl Freeze for IcSdaHold
impl RefUnwindSafe for IcSdaHold
impl Send for IcSdaHold
impl Sync for IcSdaHold
impl Unpin for IcSdaHold
impl UnwindSafe for IcSdaHold
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
)