Struct DMA1

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

DMA controller

See peripheral structure

Implementations§

Source§

impl DMA1

Source

pub const PTR: *const RegisterBlock = {0x40020000 as *const stm32g030::dma1::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 isr(&self) -> &ISR

0x00 - DMA interrupt status register

Source

pub fn ifcr(&self) -> &IFCR

0x04 - DMA interrupt flag clear register

Source

pub fn ch(&self, n: usize) -> &CH

0x08..0x6c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers

`n` is the index of cluster in the array. `n == 0` corresponds to `CH1` cluster.
Source

pub fn ch_iter(&self) -> impl Iterator<Item = &CH>

Iterator for array of: 0x08..0x6c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers

Source

pub fn ch1(&self) -> &CH

0x08..0x1c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers

Source

pub fn ch2(&self) -> &CH

0x1c..0x30 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers

Source

pub fn ch3(&self) -> &CH

0x30..0x44 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers

Source

pub fn ch4(&self) -> &CH

0x44..0x58 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers

Source

pub fn ch5(&self) -> &CH

0x58..0x6c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers

Trait Implementations§

Source§

impl Debug for DMA1

Source§

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

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

impl Deref for DMA1

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Send for DMA1

Auto Trait Implementations§

§

impl Freeze for DMA1

§

impl RefUnwindSafe for DMA1

§

impl !Sync for DMA1

§

impl Unpin for DMA1

§

impl UnwindSafe for DMA1

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.