Struct embassy_stm32::sdmmc::Sdmmc
source · pub struct Sdmmc<'d, T: Instance, Dma: SdmmcDma<T> = NoDma> { /* private fields */ }
Expand description
Sdmmc device
Implementations§
source§impl<'d, T: Instance> Sdmmc<'d, T, NoDma>
impl<'d, T: Instance> Sdmmc<'d, T, NoDma>
sourcepub fn new_1bit(
sdmmc: impl Peripheral<P = T> + 'd,
_irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd,
clk: impl Peripheral<P = impl CkPin<T>> + 'd,
cmd: impl Peripheral<P = impl CmdPin<T>> + 'd,
d0: impl Peripheral<P = impl D0Pin<T>> + 'd,
config: Config
) -> Self
pub fn new_1bit( sdmmc: impl Peripheral<P = T> + 'd, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, clk: impl Peripheral<P = impl CkPin<T>> + 'd, cmd: impl Peripheral<P = impl CmdPin<T>> + 'd, d0: impl Peripheral<P = impl D0Pin<T>> + 'd, config: Config ) -> Self
Create a new SDMMC driver, with 1 data lane.
sourcepub fn new_4bit(
sdmmc: impl Peripheral<P = T> + 'd,
_irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd,
clk: impl Peripheral<P = impl CkPin<T>> + 'd,
cmd: impl Peripheral<P = impl CmdPin<T>> + 'd,
d0: impl Peripheral<P = impl D0Pin<T>> + 'd,
d1: impl Peripheral<P = impl D1Pin<T>> + 'd,
d2: impl Peripheral<P = impl D2Pin<T>> + 'd,
d3: impl Peripheral<P = impl D3Pin<T>> + 'd,
config: Config
) -> Self
pub fn new_4bit( sdmmc: impl Peripheral<P = T> + 'd, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, clk: impl Peripheral<P = impl CkPin<T>> + 'd, cmd: impl Peripheral<P = impl CmdPin<T>> + 'd, d0: impl Peripheral<P = impl D0Pin<T>> + 'd, d1: impl Peripheral<P = impl D1Pin<T>> + 'd, d2: impl Peripheral<P = impl D2Pin<T>> + 'd, d3: impl Peripheral<P = impl D3Pin<T>> + 'd, config: Config ) -> Self
Create a new SDMMC driver, with 4 data lanes.
source§impl<'d, T: Instance, Dma: SdmmcDma<T> + 'd> Sdmmc<'d, T, Dma>
impl<'d, T: Instance, Dma: SdmmcDma<T> + 'd> Sdmmc<'d, T, Dma>
sourcepub async fn init_card(&mut self, freq: Hertz) -> Result<(), Error>
pub async fn init_card(&mut self, freq: Hertz) -> Result<(), Error>
Initializes card (if present) and sets the bus at the specified frequency.
sourcepub async fn read_block(
&mut self,
block_idx: u32,
buffer: &mut DataBlock
) -> Result<(), Error>
pub async fn read_block( &mut self, block_idx: u32, buffer: &mut DataBlock ) -> Result<(), Error>
Read a data block.
sourcepub async fn write_block(
&mut self,
block_idx: u32,
buffer: &DataBlock
) -> Result<(), Error>
pub async fn write_block( &mut self, block_idx: u32, buffer: &DataBlock ) -> Result<(), Error>
Write a data block.
Trait Implementations§
Auto Trait Implementations§
impl<'d, T, Dma> RefUnwindSafe for Sdmmc<'d, T, Dma>where
Dma: RefUnwindSafe,
T: RefUnwindSafe,
impl<'d, T, Dma> Send for Sdmmc<'d, T, Dma>
impl<'d, T, Dma> Sync for Sdmmc<'d, T, Dma>
impl<'d, T, Dma> Unpin for Sdmmc<'d, T, Dma>
impl<'d, T, Dma = NoDma> !UnwindSafe for Sdmmc<'d, T, Dma>
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
Mutably borrows from an owned value. Read more