Struct DMA

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

Direct Memory Access module

Implementations§

Source§

impl DMA

Source

pub const PTR: *const RegisterBlock = {0x2000c000 as *const dma::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 interrupt_state(&self) -> &INTERRUPT_STATE

0x00 - ??

Source

pub fn terminate_state(&self) -> &TERMINATE_STATE

0x04 - ??

Source

pub fn terminate_clear(&self) -> &TERMINATE_CLEAR

0x08 - ??

Source

pub fn error_state(&self) -> &ERROR_STATE

0x0c - ??

Source

pub fn error_clear(&self) -> &ERROR_CLEAR

0x10 - ??

Source

pub fn terminate_state_raw(&self) -> &TERMINATE_STATE_RAW

0x14 - ??

Source

pub fn error_state_raw(&self) -> &ERROR_STATE_RAW

0x18 - ??

Source

pub fn channel_state(&self) -> &CHANNEL_STATE

0x1c - ??

Source

pub fn burst_request(&self) -> &BURST_REQUEST

0x20 - ??

Source

pub fn single_request(&self) -> &SINGLE_REQUEST

0x24 - ??

Source

pub fn last_burst_request(&self) -> &LAST_BURST_REQUEST

0x28 - ??

Source

pub fn last_single_request(&self) -> &LAST_SINGLE_REQUEST

0x2c - ??

Source

pub fn config(&self) -> &CONFIG

0x30 - ??

Source

pub fn synchronize(&self) -> &SYNCHRONIZE

0x34 - ??

Source

pub fn channel(&self, n: usize) -> &CHANNEL

0x100..0x150 - Direct Memory Access channel

Source

pub fn channel_iter(&self) -> impl Iterator<Item = &CHANNEL>

Iterator for array of: 0x100..0x150 - Direct Memory Access channel

Trait Implementations§

Source§

impl Debug for DMA

Source§

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

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

impl Deref for DMA

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Send for DMA

Auto Trait Implementations§

§

impl Freeze for DMA

§

impl RefUnwindSafe for DMA

§

impl !Sync for DMA

§

impl Unpin for DMA

§

impl UnwindSafe for DMA

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.