Struct stm32_hal2::pac::i2c1::timingr::W

source ·
pub struct W(/* private fields */);
Expand description

Register TIMINGR writer

Implementations§

source§

impl W

source

pub fn scll( &mut self ) -> FieldWriterRaw<'_, u32, TIMINGR_SPEC, u8, u8, Safe, 8, 0>

Bits 0:7 - SCL low period (master mode) This field is used to generate the SCL low period in master mode. tSCLL = (SCLL+1) x tPRESC Note: SCLL is also used to generate tBUF and tSU:STA timings.

source

pub fn sclh( &mut self ) -> FieldWriterRaw<'_, u32, TIMINGR_SPEC, u8, u8, Safe, 8, 8>

Bits 8:15 - SCL high period (master mode) This field is used to generate the SCL high period in master mode. tSCLH = (SCLH+1) x tPRESC Note: SCLH is also used to generate tSU:STO and tHD:STA timing.

source

pub fn sdadel( &mut self ) -> FieldWriterRaw<'_, u32, TIMINGR_SPEC, u8, u8, Safe, 4, 16>

Bits 16:19 - Data hold time This field is used to generate the delay tSDADEL between SCL falling edge and SDA edge. In master mode and in slave mode with NOSTRETCH = 0, the SCL line is stretched low during tSDADEL. tSDADEL= SDADEL x tPRESC Note: SDADEL is used to generate tHD:DAT timing.

source

pub fn scldel( &mut self ) -> FieldWriterRaw<'_, u32, TIMINGR_SPEC, u8, u8, Safe, 4, 20>

Bits 20:23 - Data setup time This field is used to generate a delay tSCLDEL between SDA edge and SCL rising edge. In master mode and in slave mode with NOSTRETCH = 0, the SCL line is stretched low during tSCLDEL. tSCLDEL = (SCLDEL+1) x tPRESC Note: tSCLDEL is used to generate tSU:DAT timing.

source

pub fn presc( &mut self ) -> FieldWriterRaw<'_, u32, TIMINGR_SPEC, u8, u8, Safe, 4, 28>

Bits 28:31 - Timing prescaler This field is used to prescale I2CCLK in order to generate the clock period tPRESC used for data setup and hold counters (refer to I2C timings on page9) and for SCL high and low level counters (refer to I2C master initialization on page24). tPRESC = (PRESC+1) x tI2CCLK

source

pub unsafe fn bits(&mut self, bits: u32) -> &mut W

Writes raw bits to the register.

Methods from Deref<Target = W<TIMINGR_SPEC>>§

source

pub unsafe fn bits(&mut self, bits: <REG as RegisterSpec>::Ux) -> &mut W<REG>

Writes raw bits to the register.

Trait Implementations§

source§

impl Deref for W

§

type Target = W<TIMINGR_SPEC>

The resulting type after dereferencing.
source§

fn deref(&self) -> &<W as Deref>::Target

Dereferences the value.
source§

impl DerefMut for W

source§

fn deref_mut(&mut self) -> &mut <W as Deref>::Target

Mutably dereferences the value.
source§

impl From<W<TIMINGR_SPEC>> for W

source§

fn from(writer: W<TIMINGR_SPEC>) -> W

Converts to this type from the input type.

Auto Trait Implementations§

§

impl RefUnwindSafe for W

§

impl Send for W

§

impl Sync for W

§

impl Unpin for W

§

impl UnwindSafe for W

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.