stm32f3_copterust/stm32f373/
tim16.rs1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - control register 1"]
5    pub cr1: CR1,
6    #[doc = "0x04 - control register 2"]
7    pub cr2: CR2,
8    _reserved2: [u8; 4usize],
9    #[doc = "0x0c - DMA/Interrupt enable register"]
10    pub dier: DIER,
11    #[doc = "0x10 - status register"]
12    pub sr: SR,
13    #[doc = "0x14 - event generation register"]
14    pub egr: EGR,
15    _reserved_5_ccmr1: [u8; 4usize],
16    _reserved6: [u8; 4usize],
17    #[doc = "0x20 - capture/compare enable register"]
18    pub ccer: CCER,
19    #[doc = "0x24 - counter"]
20    pub cnt: CNT,
21    #[doc = "0x28 - prescaler"]
22    pub psc: PSC,
23    #[doc = "0x2c - auto-reload register"]
24    pub arr: ARR,
25    #[doc = "0x30 - repetition counter register"]
26    pub rcr: RCR,
27    #[doc = "0x34 - capture/compare register 1"]
28    pub ccr1: CCR1,
29    _reserved12: [u8; 12usize],
30    #[doc = "0x44 - break and dead-time register"]
31    pub bdtr: BDTR,
32    #[doc = "0x48 - DMA control register"]
33    pub dcr: DCR,
34    #[doc = "0x4c - DMA address for full transfer"]
35    pub dmar: DMAR,
36}
37impl RegisterBlock {
38    #[doc = "0x18 - capture/compare mode register 1 (input mode)"]
39    #[inline(always)]
40    pub fn ccmr1_input(&self) -> &CCMR1_INPUT {
41        unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_INPUT) }
42    }
43    #[doc = "0x18 - capture/compare mode register 1 (input mode)"]
44    #[inline(always)]
45    pub fn ccmr1_input_mut(&self) -> &mut CCMR1_INPUT {
46        unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_INPUT) }
47    }
48    #[doc = "0x18 - capture/compare mode register (output mode)"]
49    #[inline(always)]
50    pub fn ccmr1_output(&self) -> &CCMR1_OUTPUT {
51        unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_OUTPUT) }
52    }
53    #[doc = "0x18 - capture/compare mode register (output mode)"]
54    #[inline(always)]
55    pub fn ccmr1_output_mut(&self) -> &mut CCMR1_OUTPUT {
56        unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_OUTPUT) }
57    }
58}
59#[doc = "control register 1\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cr1](cr1) module"]
60pub type CR1 = crate::Reg<u32, _CR1>;
61#[allow(missing_docs)]
62#[doc(hidden)]
63pub struct _CR1;
64#[doc = "`read()` method returns [cr1::R](cr1::R) reader structure"]
65impl crate::Readable for CR1 {}
66#[doc = "`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure"]
67impl crate::Writable for CR1 {}
68#[doc = "control register 1"]
69pub mod cr1;
70#[doc = "control register 2\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cr2](cr2) module"]
71pub type CR2 = crate::Reg<u32, _CR2>;
72#[allow(missing_docs)]
73#[doc(hidden)]
74pub struct _CR2;
75#[doc = "`read()` method returns [cr2::R](cr2::R) reader structure"]
76impl crate::Readable for CR2 {}
77#[doc = "`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure"]
78impl crate::Writable for CR2 {}
79#[doc = "control register 2"]
80pub mod cr2;
81#[doc = "DMA/Interrupt enable register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dier](dier) module"]
82pub type DIER = crate::Reg<u32, _DIER>;
83#[allow(missing_docs)]
84#[doc(hidden)]
85pub struct _DIER;
86#[doc = "`read()` method returns [dier::R](dier::R) reader structure"]
87impl crate::Readable for DIER {}
88#[doc = "`write(|w| ..)` method takes [dier::W](dier::W) writer structure"]
89impl crate::Writable for DIER {}
90#[doc = "DMA/Interrupt enable register"]
91pub mod dier;
92#[doc = "status register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [sr](sr) module"]
93pub type SR = crate::Reg<u32, _SR>;
94#[allow(missing_docs)]
95#[doc(hidden)]
96pub struct _SR;
97#[doc = "`read()` method returns [sr::R](sr::R) reader structure"]
98impl crate::Readable for SR {}
99#[doc = "`write(|w| ..)` method takes [sr::W](sr::W) writer structure"]
100impl crate::Writable for SR {}
101#[doc = "status register"]
102pub mod sr;
103#[doc = "event generation register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [egr](egr) module"]
104pub type EGR = crate::Reg<u32, _EGR>;
105#[allow(missing_docs)]
106#[doc(hidden)]
107pub struct _EGR;
108#[doc = "`write(|w| ..)` method takes [egr::W](egr::W) writer structure"]
109impl crate::Writable for EGR {}
110#[doc = "event generation register"]
111pub mod egr;
112#[doc = "capture/compare mode register (output mode)\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccmr1_output](ccmr1_output) module"]
113pub type CCMR1_OUTPUT = crate::Reg<u32, _CCMR1_OUTPUT>;
114#[allow(missing_docs)]
115#[doc(hidden)]
116pub struct _CCMR1_OUTPUT;
117#[doc = "`read()` method returns [ccmr1_output::R](ccmr1_output::R) reader structure"]
118impl crate::Readable for CCMR1_OUTPUT {}
119#[doc = "`write(|w| ..)` method takes [ccmr1_output::W](ccmr1_output::W) writer structure"]
120impl crate::Writable for CCMR1_OUTPUT {}
121#[doc = "capture/compare mode register (output mode)"]
122pub mod ccmr1_output;
123#[doc = "capture/compare mode register 1 (input mode)\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccmr1_input](ccmr1_input) module"]
124pub type CCMR1_INPUT = crate::Reg<u32, _CCMR1_INPUT>;
125#[allow(missing_docs)]
126#[doc(hidden)]
127pub struct _CCMR1_INPUT;
128#[doc = "`read()` method returns [ccmr1_input::R](ccmr1_input::R) reader structure"]
129impl crate::Readable for CCMR1_INPUT {}
130#[doc = "`write(|w| ..)` method takes [ccmr1_input::W](ccmr1_input::W) writer structure"]
131impl crate::Writable for CCMR1_INPUT {}
132#[doc = "capture/compare mode register 1 (input mode)"]
133pub mod ccmr1_input;
134#[doc = "capture/compare enable register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccer](ccer) module"]
135pub type CCER = crate::Reg<u32, _CCER>;
136#[allow(missing_docs)]
137#[doc(hidden)]
138pub struct _CCER;
139#[doc = "`read()` method returns [ccer::R](ccer::R) reader structure"]
140impl crate::Readable for CCER {}
141#[doc = "`write(|w| ..)` method takes [ccer::W](ccer::W) writer structure"]
142impl crate::Writable for CCER {}
143#[doc = "capture/compare enable register"]
144pub mod ccer;
145#[doc = "counter\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cnt](cnt) module"]
146pub type CNT = crate::Reg<u32, _CNT>;
147#[allow(missing_docs)]
148#[doc(hidden)]
149pub struct _CNT;
150#[doc = "`read()` method returns [cnt::R](cnt::R) reader structure"]
151impl crate::Readable for CNT {}
152#[doc = "`write(|w| ..)` method takes [cnt::W](cnt::W) writer structure"]
153impl crate::Writable for CNT {}
154#[doc = "counter"]
155pub mod cnt;
156#[doc = "prescaler\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [psc](psc) module"]
157pub type PSC = crate::Reg<u32, _PSC>;
158#[allow(missing_docs)]
159#[doc(hidden)]
160pub struct _PSC;
161#[doc = "`read()` method returns [psc::R](psc::R) reader structure"]
162impl crate::Readable for PSC {}
163#[doc = "`write(|w| ..)` method takes [psc::W](psc::W) writer structure"]
164impl crate::Writable for PSC {}
165#[doc = "prescaler"]
166pub mod psc;
167#[doc = "auto-reload register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [arr](arr) module"]
168pub type ARR = crate::Reg<u32, _ARR>;
169#[allow(missing_docs)]
170#[doc(hidden)]
171pub struct _ARR;
172#[doc = "`read()` method returns [arr::R](arr::R) reader structure"]
173impl crate::Readable for ARR {}
174#[doc = "`write(|w| ..)` method takes [arr::W](arr::W) writer structure"]
175impl crate::Writable for ARR {}
176#[doc = "auto-reload register"]
177pub mod arr;
178#[doc = "repetition counter register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [rcr](rcr) module"]
179pub type RCR = crate::Reg<u32, _RCR>;
180#[allow(missing_docs)]
181#[doc(hidden)]
182pub struct _RCR;
183#[doc = "`read()` method returns [rcr::R](rcr::R) reader structure"]
184impl crate::Readable for RCR {}
185#[doc = "`write(|w| ..)` method takes [rcr::W](rcr::W) writer structure"]
186impl crate::Writable for RCR {}
187#[doc = "repetition counter register"]
188pub mod rcr;
189#[doc = "capture/compare register 1\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccr1](ccr1) module"]
190pub type CCR1 = crate::Reg<u32, _CCR1>;
191#[allow(missing_docs)]
192#[doc(hidden)]
193pub struct _CCR1;
194#[doc = "`read()` method returns [ccr1::R](ccr1::R) reader structure"]
195impl crate::Readable for CCR1 {}
196#[doc = "`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure"]
197impl crate::Writable for CCR1 {}
198#[doc = "capture/compare register 1"]
199pub mod ccr1;
200#[doc = "break and dead-time register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [bdtr](bdtr) module"]
201pub type BDTR = crate::Reg<u32, _BDTR>;
202#[allow(missing_docs)]
203#[doc(hidden)]
204pub struct _BDTR;
205#[doc = "`read()` method returns [bdtr::R](bdtr::R) reader structure"]
206impl crate::Readable for BDTR {}
207#[doc = "`write(|w| ..)` method takes [bdtr::W](bdtr::W) writer structure"]
208impl crate::Writable for BDTR {}
209#[doc = "break and dead-time register"]
210pub mod bdtr;
211#[doc = "DMA control register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dcr](dcr) module"]
212pub type DCR = crate::Reg<u32, _DCR>;
213#[allow(missing_docs)]
214#[doc(hidden)]
215pub struct _DCR;
216#[doc = "`read()` method returns [dcr::R](dcr::R) reader structure"]
217impl crate::Readable for DCR {}
218#[doc = "`write(|w| ..)` method takes [dcr::W](dcr::W) writer structure"]
219impl crate::Writable for DCR {}
220#[doc = "DMA control register"]
221pub mod dcr;
222#[doc = "DMA address for full transfer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dmar](dmar) module"]
223pub type DMAR = crate::Reg<u32, _DMAR>;
224#[allow(missing_docs)]
225#[doc(hidden)]
226pub struct _DMAR;
227#[doc = "`read()` method returns [dmar::R](dmar::R) reader structure"]
228impl crate::Readable for DMAR {}
229#[doc = "`write(|w| ..)` method takes [dmar::W](dmar::W) writer structure"]
230impl crate::Writable for DMAR {}
231#[doc = "DMA address for full transfer"]
232pub mod dmar;