I3C

Struct I3C 

Source
pub struct I3C { /* private fields */ }
Expand description

Improved inter-integrated circuit

Implementations§

Source§

impl I3C

Source

pub const PTR: *const RegisterBlock = {0x40005c00 as *const stm32h573::i3c::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

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>§

Source

pub fn cr_alternate(&self) -> &CR_ALTERNATE

0x00 - I3C message control register alternate

Source

pub fn cr(&self) -> &CR

0x00 - I3C message control register

Source

pub fn cfgr(&self) -> &CFGR

0x04 - I3C configuration register

Source

pub fn rdr(&self) -> &RDR

0x10 - I3C receive data byte register

Source

pub fn rdwr(&self) -> &RDWR

0x14 - I3C receive data word register

Source

pub fn tdr(&self) -> &TDR

0x18 - I3C transmit data byte register

Source

pub fn tdwr(&self) -> &TDWR

0x1c - I3C transmit data word register

Source

pub fn ibidr(&self) -> &IBIDR

0x20 - I3C IBI payload data register

Source

pub fn tgttdr(&self) -> &TGTTDR

0x24 - I3C target transmit configuration register

Source

pub fn sr(&self) -> &SR

0x30 - I3C status register

Source

pub fn ser(&self) -> &SER

0x34 - I3C status error register

Source

pub fn rmr(&self) -> &RMR

0x40 - I3C received message register

Source

pub fn evr(&self) -> &EVR

0x50 - I3C event register

Source

pub fn ier(&self) -> &IER

0x54 - I3C interrupt enable register

Source

pub fn cevr(&self) -> &CEVR

0x58 - I3C clear event register

Source

pub fn devr0(&self) -> &DEVR0

0x60 - I3C own device characteristics register

Source

pub fn devr1(&self) -> &DEVR1

0x64 - I3C device 1 characteristics register

Source

pub fn devr2(&self) -> &DEVR2

0x68 - I3C device 2 characteristics register

Source

pub fn devr3(&self) -> &DEVR3

0x6c - I3C device 3 characteristics register

Source

pub fn devr4(&self) -> &DEVR4

0x70 - I3C device 4 characteristics register

Source

pub fn maxrlr(&self) -> &MAXRLR

0x90 - I3C maximum read length register

Source

pub fn maxwlr(&self) -> &MAXWLR

0x94 - I3C maximum write length register

Source

pub fn timingr0(&self) -> &TIMINGR0

0xa0 - I3C timing register 0

Source

pub fn timingr1(&self) -> &TIMINGR1

0xa4 - I3C timing register 1

Source

pub fn timingr2(&self) -> &TIMINGR2

0xa8 - I3C timing register 2

Source

pub fn bcr(&self) -> &BCR

0xc0 - I3C bus characteristics register

Source

pub fn dcr(&self) -> &DCR

0xc4 - I3C device characteristics register

Source

pub fn getcapr(&self) -> &GETCAPR

0xc8 - I3C get capability register

Source

pub fn crcapr(&self) -> &CRCAPR

0xcc - I3C controller-role capability register

Source

pub fn getmxdsr(&self) -> &GETMXDSR

0xd0 - I3C get capability register

Source

pub fn epidr(&self) -> &EPIDR

0xd4 - I3C extended provisioned ID register

Trait Implementations§

Source§

impl Debug for I3C

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for I3C

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for I3C

Auto Trait Implementations§

§

impl Freeze for I3C

§

impl RefUnwindSafe for I3C

§

impl !Sync for I3C

§

impl Unpin for I3C

§

impl UnwindSafe for I3C

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

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

Source§

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>,

Source§

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.