Struct stm32_metapac::sdmmc::Sdmmc

pub struct Sdmmc { /* private fields */ }
Expand description

SDMMC

Implementations§

§

impl Sdmmc

pub const unsafe fn from_ptr(ptr: *mut ()) -> Self

pub const fn as_ptr(&self) -> *mut ()

pub const fn power(self) -> Reg<Power, RW>

SDMMC power control register

pub const fn clkcr(self) -> Reg<Clkcr, RW>

The SDMMC_CLKCR register controls the SDMMC_CK output clock, the SDMMC_RX_CLK receive clock, and the bus width.

pub const fn argr(self) -> Reg<Argr, RW>

The SDMMC_ARGR register contains a 32-bit command argument, which is sent to a card as part of a command message.

pub const fn cmdr(self) -> Reg<Cmdr, RW>

The SDMMC_CMDR register contains the command index and command type bits. The command index is sent to a card as part of a command message. The command type bits control the command path state machine (CPSM).

pub const fn respcmdr(self) -> Reg<Respcmdr, R>

SDMMC command response register

pub const fn respr(self, n: usize) -> Reg<RespxR, R>

The SDMMC_RESP1/2/3/4R registers contain the status of a card, which is part of the received response.

pub const fn dtimer(self) -> Reg<Dtimer, RW>

The SDMMC_DTIMER register contains the data timeout period, in card bus clock periods. A counter loads the value from the SDMMC_DTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_R or Busy state. If the timer reaches 0 while the DPSM is in either of these states, the timeout status flag is set.

pub const fn dlenr(self) -> Reg<Dlenr, RW>

The SDMMC_DLENR register contains the number of data bytes to be transferred. The value is loaded into the data counter when data transfer starts.

pub const fn dctrl(self) -> Reg<Dctrl, RW>

The SDMMC_DCTRL register control the data path state machine (DPSM).

pub const fn dcntr(self) -> Reg<Dcntr, R>

The SDMMC_DCNTR register loads the value from the data length register (see SDMMC_DLENR) when the DPSM moves from the Idle state to the Wait_R or Wait_S state. As data is transferred, the counter decrements the value until it reaches 0. The DPSM then moves to the Idle state and when there has been no error, the data status end flag (DATAEND) is set.

pub const fn star(self) -> Reg<Star, R>

The SDMMC_STAR register is a read-only register. It contains two types of flag:Static flags (bits [29,21,11:0]): these bits remain asserted until they are cleared by writing to the SDMMC interrupt Clear register (see SDMMC_ICR)Dynamic flags (bits [20:12]): these bits change state depending on the state of the underlying logic (for example, FIFO full and empty flags are asserted and de-asserted as data while written to the FIFO)

pub const fn icr(self) -> Reg<Icr, RW>

The SDMMC_ICR register is a write-only register. Writing a bit with 1 clears the corresponding bit in the SDMMC_STAR status register.

pub const fn maskr(self) -> Reg<Maskr, RW>

The interrupt mask register determines which status flags generate an interrupt request by setting the corresponding bit to 1.

pub const fn acktimer(self) -> Reg<Acktimer, RW>

The SDMMC_ACKTIMER register contains the acknowledgment timeout period, in SDMMC_CK bus clock periods. A counter loads the value from the SDMMC_ACKTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_Ack state. If the timer reaches 0 while the DPSM is in this states, the acknowledgment timeout status flag is set.

pub const fn idmactrlr(self) -> Reg<Idmactrlr, RW>

The receive and transmit FIFOs can be read or written as 32-bit wide registers. The FIFOs contain 32 entries on 32 sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO.

pub const fn idmabsizer(self) -> Reg<Idmabsizer, RW>

The SDMMC_IDMABSIZER register contains the buffers size when in double buffer configuration.

pub const fn idmabase0r(self) -> Reg<Idmabase0r, RW>

The SDMMC_IDMABASE0R register contains the memory buffer base address in single buffer configuration and the buffer 0 base address in double buffer configuration.

pub const fn idmabase1r(self) -> Reg<Idmabase1r, RW>

The SDMMC_IDMABASE1R register contains the double buffer configuration second buffer memory base address.

pub const fn fifor(self) -> Reg<Fifor, RW>

The receive and transmit FIFOs can be only read or written as word (32-bit) wide registers. The FIFOs contain 16 entries on sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO.When accessing SDMMC_FIFOR with half word or byte access an AHB bus fault is generated.

pub const fn ver(self) -> Reg<Ver, R>

SDMMC IP version register

pub const fn id(self) -> Reg<Id, R>

SDMMC IP identification register

Trait Implementations§

§

impl Clone for Sdmmc

§

fn clone(&self) -> Sdmmc

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl PartialEq for Sdmmc

§

fn eq(&self, other: &Sdmmc) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Copy for Sdmmc

§

impl Eq for Sdmmc

§

impl Send for Sdmmc

§

impl StructuralPartialEq for Sdmmc

§

impl Sync for Sdmmc

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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>,

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.