stm32f1_staging/stm32f101/dma1.rs
1#[repr(C)]
2#[derive(Debug)]
3///Register block
4pub struct RegisterBlock {
5 isr: ISR,
6 ifcr: IFCR,
7 ch: [CH; 7],
8}
9impl RegisterBlock {
10 ///0x00 - DMA interrupt status register (DMA_ISR)
11 #[inline(always)]
12 pub const fn isr(&self) -> &ISR {
13 &self.isr
14 }
15 ///0x04 - DMA interrupt flag clear register (DMA_IFCR)
16 #[inline(always)]
17 pub const fn ifcr(&self) -> &IFCR {
18 &self.ifcr
19 }
20 ///0x08..0x94 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
21 ///
22 ///<div class="warning">`n` is the index of cluster in the array. `n == 0` corresponds to `CH1` cluster.</div>
23 #[inline(always)]
24 pub const fn ch(&self, n: usize) -> &CH {
25 &self.ch[n]
26 }
27 ///Iterator for array of:
28 ///0x08..0x94 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
29 #[inline(always)]
30 pub fn ch_iter(&self) -> impl Iterator<Item = &CH> {
31 self.ch.iter()
32 }
33 ///0x08..0x1c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
34 #[inline(always)]
35 pub const fn ch1(&self) -> &CH {
36 self.ch(0)
37 }
38 ///0x1c..0x30 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
39 #[inline(always)]
40 pub const fn ch2(&self) -> &CH {
41 self.ch(1)
42 }
43 ///0x30..0x44 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
44 #[inline(always)]
45 pub const fn ch3(&self) -> &CH {
46 self.ch(2)
47 }
48 ///0x44..0x58 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
49 #[inline(always)]
50 pub const fn ch4(&self) -> &CH {
51 self.ch(3)
52 }
53 ///0x58..0x6c - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
54 #[inline(always)]
55 pub const fn ch5(&self) -> &CH {
56 self.ch(4)
57 }
58 ///0x6c..0x80 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
59 #[inline(always)]
60 pub const fn ch6(&self) -> &CH {
61 self.ch(5)
62 }
63 ///0x80..0x94 - Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
64 #[inline(always)]
65 pub const fn ch7(&self) -> &CH {
66 self.ch(6)
67 }
68}
69/**ISR (r) register accessor: DMA interrupt status register (DMA_ISR)
70
71You can [`read`](crate::Reg::read) this register and get [`isr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
72
73See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#DMA1:ISR)
74
75For information about available fields see [`mod@isr`] module*/
76pub type ISR = crate::Reg<isr::ISRrs>;
77///DMA interrupt status register (DMA_ISR)
78pub mod isr;
79/**IFCR (w) register accessor: DMA interrupt flag clear register (DMA_IFCR)
80
81You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ifcr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
82
83See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F101.html#DMA1:IFCR)
84
85For information about available fields see [`mod@ifcr`] module*/
86pub type IFCR = crate::Reg<ifcr::IFCRrs>;
87///DMA interrupt flag clear register (DMA_IFCR)
88pub mod ifcr;
89///Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
90pub use self::ch::CH;
91///Cluster
92///Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers
93pub mod ch;