pub struct DMA1 { /* private fields */ }
Expand description
DMA controller
See peripheral structure
Implementations§
Source§impl DMA1
impl DMA1
Sourcepub const PTR: *const RegisterBlock = {0x40020000 as *const stm32g030::dma1::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x40020000 as *const stm32g030::dma1::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
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>§
Sourcepub fn ch(&self, n: usize) -> &CH
pub fn ch(&self, n: usize) -> &CH
0x08..0x6c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
Sourcepub fn ch_iter(&self) -> impl Iterator<Item = &CH>
pub fn ch_iter(&self) -> impl Iterator<Item = &CH>
Iterator for array of: 0x08..0x6c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
Sourcepub fn ch1(&self) -> &CH
pub fn ch1(&self) -> &CH
0x08..0x1c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
Sourcepub fn ch2(&self) -> &CH
pub fn ch2(&self) -> &CH
0x1c..0x30 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
Sourcepub fn ch3(&self) -> &CH
pub fn ch3(&self) -> &CH
0x30..0x44 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers