stm32f1/stm32f103/exti/
emr.rs1#[doc = "Register `EMR` reader"]
2pub struct R(crate::R<EMR_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<EMR_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<EMR_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<EMR_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `EMR` writer"]
17pub struct W(crate::W<EMR_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<EMR_SPEC>;
20 #[inline(always)]
21 fn deref(&self) -> &Self::Target {
22 &self.0
23 }
24}
25impl core::ops::DerefMut for W {
26 #[inline(always)]
27 fn deref_mut(&mut self) -> &mut Self::Target {
28 &mut self.0
29 }
30}
31impl From<crate::W<EMR_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<EMR_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Event Mask on line 0\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39pub enum MR0_A {
40 #[doc = "0: Interrupt request line is masked"]
41 Masked = 0,
42 #[doc = "1: Interrupt request line is unmasked"]
43 Unmasked = 1,
44}
45impl From<MR0_A> for bool {
46 #[inline(always)]
47 fn from(variant: MR0_A) -> Self {
48 variant as u8 != 0
49 }
50}
51#[doc = "Field `MR0` reader - Event Mask on line 0"]
52pub type MR0_R = crate::BitReader<MR0_A>;
53impl MR0_R {
54 #[doc = "Get enumerated values variant"]
55 #[inline(always)]
56 pub fn variant(&self) -> MR0_A {
57 match self.bits {
58 false => MR0_A::Masked,
59 true => MR0_A::Unmasked,
60 }
61 }
62 #[doc = "Checks if the value of the field is `Masked`"]
63 #[inline(always)]
64 pub fn is_masked(&self) -> bool {
65 *self == MR0_A::Masked
66 }
67 #[doc = "Checks if the value of the field is `Unmasked`"]
68 #[inline(always)]
69 pub fn is_unmasked(&self) -> bool {
70 *self == MR0_A::Unmasked
71 }
72}
73#[doc = "Field `MR0` writer - Event Mask on line 0"]
74pub type MR0_W<'a, const O: u8> = crate::BitWriter<'a, u32, EMR_SPEC, MR0_A, O>;
75impl<'a, const O: u8> MR0_W<'a, O> {
76 #[doc = "Interrupt request line is masked"]
77 #[inline(always)]
78 pub fn masked(self) -> &'a mut W {
79 self.variant(MR0_A::Masked)
80 }
81 #[doc = "Interrupt request line is unmasked"]
82 #[inline(always)]
83 pub fn unmasked(self) -> &'a mut W {
84 self.variant(MR0_A::Unmasked)
85 }
86}
87#[doc = "Event Mask on line 1"]
88pub use MR0_A as MR1_A;
89#[doc = "Event Mask on line 2"]
90pub use MR0_A as MR2_A;
91#[doc = "Event Mask on line 3"]
92pub use MR0_A as MR3_A;
93#[doc = "Event Mask on line 4"]
94pub use MR0_A as MR4_A;
95#[doc = "Event Mask on line 5"]
96pub use MR0_A as MR5_A;
97#[doc = "Event Mask on line 6"]
98pub use MR0_A as MR6_A;
99#[doc = "Event Mask on line 7"]
100pub use MR0_A as MR7_A;
101#[doc = "Event Mask on line 8"]
102pub use MR0_A as MR8_A;
103#[doc = "Event Mask on line 9"]
104pub use MR0_A as MR9_A;
105#[doc = "Event Mask on line 10"]
106pub use MR0_A as MR10_A;
107#[doc = "Event Mask on line 11"]
108pub use MR0_A as MR11_A;
109#[doc = "Event Mask on line 12"]
110pub use MR0_A as MR12_A;
111#[doc = "Event Mask on line 13"]
112pub use MR0_A as MR13_A;
113#[doc = "Event Mask on line 14"]
114pub use MR0_A as MR14_A;
115#[doc = "Event Mask on line 15"]
116pub use MR0_A as MR15_A;
117#[doc = "Event Mask on line 16"]
118pub use MR0_A as MR16_A;
119#[doc = "Event Mask on line 17"]
120pub use MR0_A as MR17_A;
121#[doc = "Event Mask on line 18"]
122pub use MR0_A as MR18_A;
123#[doc = "Field `MR1` reader - Event Mask on line 1"]
124pub use MR0_R as MR1_R;
125#[doc = "Field `MR2` reader - Event Mask on line 2"]
126pub use MR0_R as MR2_R;
127#[doc = "Field `MR3` reader - Event Mask on line 3"]
128pub use MR0_R as MR3_R;
129#[doc = "Field `MR4` reader - Event Mask on line 4"]
130pub use MR0_R as MR4_R;
131#[doc = "Field `MR5` reader - Event Mask on line 5"]
132pub use MR0_R as MR5_R;
133#[doc = "Field `MR6` reader - Event Mask on line 6"]
134pub use MR0_R as MR6_R;
135#[doc = "Field `MR7` reader - Event Mask on line 7"]
136pub use MR0_R as MR7_R;
137#[doc = "Field `MR8` reader - Event Mask on line 8"]
138pub use MR0_R as MR8_R;
139#[doc = "Field `MR9` reader - Event Mask on line 9"]
140pub use MR0_R as MR9_R;
141#[doc = "Field `MR10` reader - Event Mask on line 10"]
142pub use MR0_R as MR10_R;
143#[doc = "Field `MR11` reader - Event Mask on line 11"]
144pub use MR0_R as MR11_R;
145#[doc = "Field `MR12` reader - Event Mask on line 12"]
146pub use MR0_R as MR12_R;
147#[doc = "Field `MR13` reader - Event Mask on line 13"]
148pub use MR0_R as MR13_R;
149#[doc = "Field `MR14` reader - Event Mask on line 14"]
150pub use MR0_R as MR14_R;
151#[doc = "Field `MR15` reader - Event Mask on line 15"]
152pub use MR0_R as MR15_R;
153#[doc = "Field `MR16` reader - Event Mask on line 16"]
154pub use MR0_R as MR16_R;
155#[doc = "Field `MR17` reader - Event Mask on line 17"]
156pub use MR0_R as MR17_R;
157#[doc = "Field `MR18` reader - Event Mask on line 18"]
158pub use MR0_R as MR18_R;
159#[doc = "Field `MR1` writer - Event Mask on line 1"]
160pub use MR0_W as MR1_W;
161#[doc = "Field `MR2` writer - Event Mask on line 2"]
162pub use MR0_W as MR2_W;
163#[doc = "Field `MR3` writer - Event Mask on line 3"]
164pub use MR0_W as MR3_W;
165#[doc = "Field `MR4` writer - Event Mask on line 4"]
166pub use MR0_W as MR4_W;
167#[doc = "Field `MR5` writer - Event Mask on line 5"]
168pub use MR0_W as MR5_W;
169#[doc = "Field `MR6` writer - Event Mask on line 6"]
170pub use MR0_W as MR6_W;
171#[doc = "Field `MR7` writer - Event Mask on line 7"]
172pub use MR0_W as MR7_W;
173#[doc = "Field `MR8` writer - Event Mask on line 8"]
174pub use MR0_W as MR8_W;
175#[doc = "Field `MR9` writer - Event Mask on line 9"]
176pub use MR0_W as MR9_W;
177#[doc = "Field `MR10` writer - Event Mask on line 10"]
178pub use MR0_W as MR10_W;
179#[doc = "Field `MR11` writer - Event Mask on line 11"]
180pub use MR0_W as MR11_W;
181#[doc = "Field `MR12` writer - Event Mask on line 12"]
182pub use MR0_W as MR12_W;
183#[doc = "Field `MR13` writer - Event Mask on line 13"]
184pub use MR0_W as MR13_W;
185#[doc = "Field `MR14` writer - Event Mask on line 14"]
186pub use MR0_W as MR14_W;
187#[doc = "Field `MR15` writer - Event Mask on line 15"]
188pub use MR0_W as MR15_W;
189#[doc = "Field `MR16` writer - Event Mask on line 16"]
190pub use MR0_W as MR16_W;
191#[doc = "Field `MR17` writer - Event Mask on line 17"]
192pub use MR0_W as MR17_W;
193#[doc = "Field `MR18` writer - Event Mask on line 18"]
194pub use MR0_W as MR18_W;
195impl R {
196 #[doc = "Bit 0 - Event Mask on line 0"]
197 #[inline(always)]
198 pub fn mr0(&self) -> MR0_R {
199 MR0_R::new((self.bits & 1) != 0)
200 }
201 #[doc = "Bit 1 - Event Mask on line 1"]
202 #[inline(always)]
203 pub fn mr1(&self) -> MR1_R {
204 MR1_R::new(((self.bits >> 1) & 1) != 0)
205 }
206 #[doc = "Bit 2 - Event Mask on line 2"]
207 #[inline(always)]
208 pub fn mr2(&self) -> MR2_R {
209 MR2_R::new(((self.bits >> 2) & 1) != 0)
210 }
211 #[doc = "Bit 3 - Event Mask on line 3"]
212 #[inline(always)]
213 pub fn mr3(&self) -> MR3_R {
214 MR3_R::new(((self.bits >> 3) & 1) != 0)
215 }
216 #[doc = "Bit 4 - Event Mask on line 4"]
217 #[inline(always)]
218 pub fn mr4(&self) -> MR4_R {
219 MR4_R::new(((self.bits >> 4) & 1) != 0)
220 }
221 #[doc = "Bit 5 - Event Mask on line 5"]
222 #[inline(always)]
223 pub fn mr5(&self) -> MR5_R {
224 MR5_R::new(((self.bits >> 5) & 1) != 0)
225 }
226 #[doc = "Bit 6 - Event Mask on line 6"]
227 #[inline(always)]
228 pub fn mr6(&self) -> MR6_R {
229 MR6_R::new(((self.bits >> 6) & 1) != 0)
230 }
231 #[doc = "Bit 7 - Event Mask on line 7"]
232 #[inline(always)]
233 pub fn mr7(&self) -> MR7_R {
234 MR7_R::new(((self.bits >> 7) & 1) != 0)
235 }
236 #[doc = "Bit 8 - Event Mask on line 8"]
237 #[inline(always)]
238 pub fn mr8(&self) -> MR8_R {
239 MR8_R::new(((self.bits >> 8) & 1) != 0)
240 }
241 #[doc = "Bit 9 - Event Mask on line 9"]
242 #[inline(always)]
243 pub fn mr9(&self) -> MR9_R {
244 MR9_R::new(((self.bits >> 9) & 1) != 0)
245 }
246 #[doc = "Bit 10 - Event Mask on line 10"]
247 #[inline(always)]
248 pub fn mr10(&self) -> MR10_R {
249 MR10_R::new(((self.bits >> 10) & 1) != 0)
250 }
251 #[doc = "Bit 11 - Event Mask on line 11"]
252 #[inline(always)]
253 pub fn mr11(&self) -> MR11_R {
254 MR11_R::new(((self.bits >> 11) & 1) != 0)
255 }
256 #[doc = "Bit 12 - Event Mask on line 12"]
257 #[inline(always)]
258 pub fn mr12(&self) -> MR12_R {
259 MR12_R::new(((self.bits >> 12) & 1) != 0)
260 }
261 #[doc = "Bit 13 - Event Mask on line 13"]
262 #[inline(always)]
263 pub fn mr13(&self) -> MR13_R {
264 MR13_R::new(((self.bits >> 13) & 1) != 0)
265 }
266 #[doc = "Bit 14 - Event Mask on line 14"]
267 #[inline(always)]
268 pub fn mr14(&self) -> MR14_R {
269 MR14_R::new(((self.bits >> 14) & 1) != 0)
270 }
271 #[doc = "Bit 15 - Event Mask on line 15"]
272 #[inline(always)]
273 pub fn mr15(&self) -> MR15_R {
274 MR15_R::new(((self.bits >> 15) & 1) != 0)
275 }
276 #[doc = "Bit 16 - Event Mask on line 16"]
277 #[inline(always)]
278 pub fn mr16(&self) -> MR16_R {
279 MR16_R::new(((self.bits >> 16) & 1) != 0)
280 }
281 #[doc = "Bit 17 - Event Mask on line 17"]
282 #[inline(always)]
283 pub fn mr17(&self) -> MR17_R {
284 MR17_R::new(((self.bits >> 17) & 1) != 0)
285 }
286 #[doc = "Bit 18 - Event Mask on line 18"]
287 #[inline(always)]
288 pub fn mr18(&self) -> MR18_R {
289 MR18_R::new(((self.bits >> 18) & 1) != 0)
290 }
291}
292impl W {
293 #[doc = "Bit 0 - Event Mask on line 0"]
294 #[inline(always)]
295 pub fn mr0(&mut self) -> MR0_W<0> {
296 MR0_W::new(self)
297 }
298 #[doc = "Bit 1 - Event Mask on line 1"]
299 #[inline(always)]
300 pub fn mr1(&mut self) -> MR1_W<1> {
301 MR1_W::new(self)
302 }
303 #[doc = "Bit 2 - Event Mask on line 2"]
304 #[inline(always)]
305 pub fn mr2(&mut self) -> MR2_W<2> {
306 MR2_W::new(self)
307 }
308 #[doc = "Bit 3 - Event Mask on line 3"]
309 #[inline(always)]
310 pub fn mr3(&mut self) -> MR3_W<3> {
311 MR3_W::new(self)
312 }
313 #[doc = "Bit 4 - Event Mask on line 4"]
314 #[inline(always)]
315 pub fn mr4(&mut self) -> MR4_W<4> {
316 MR4_W::new(self)
317 }
318 #[doc = "Bit 5 - Event Mask on line 5"]
319 #[inline(always)]
320 pub fn mr5(&mut self) -> MR5_W<5> {
321 MR5_W::new(self)
322 }
323 #[doc = "Bit 6 - Event Mask on line 6"]
324 #[inline(always)]
325 pub fn mr6(&mut self) -> MR6_W<6> {
326 MR6_W::new(self)
327 }
328 #[doc = "Bit 7 - Event Mask on line 7"]
329 #[inline(always)]
330 pub fn mr7(&mut self) -> MR7_W<7> {
331 MR7_W::new(self)
332 }
333 #[doc = "Bit 8 - Event Mask on line 8"]
334 #[inline(always)]
335 pub fn mr8(&mut self) -> MR8_W<8> {
336 MR8_W::new(self)
337 }
338 #[doc = "Bit 9 - Event Mask on line 9"]
339 #[inline(always)]
340 pub fn mr9(&mut self) -> MR9_W<9> {
341 MR9_W::new(self)
342 }
343 #[doc = "Bit 10 - Event Mask on line 10"]
344 #[inline(always)]
345 pub fn mr10(&mut self) -> MR10_W<10> {
346 MR10_W::new(self)
347 }
348 #[doc = "Bit 11 - Event Mask on line 11"]
349 #[inline(always)]
350 pub fn mr11(&mut self) -> MR11_W<11> {
351 MR11_W::new(self)
352 }
353 #[doc = "Bit 12 - Event Mask on line 12"]
354 #[inline(always)]
355 pub fn mr12(&mut self) -> MR12_W<12> {
356 MR12_W::new(self)
357 }
358 #[doc = "Bit 13 - Event Mask on line 13"]
359 #[inline(always)]
360 pub fn mr13(&mut self) -> MR13_W<13> {
361 MR13_W::new(self)
362 }
363 #[doc = "Bit 14 - Event Mask on line 14"]
364 #[inline(always)]
365 pub fn mr14(&mut self) -> MR14_W<14> {
366 MR14_W::new(self)
367 }
368 #[doc = "Bit 15 - Event Mask on line 15"]
369 #[inline(always)]
370 pub fn mr15(&mut self) -> MR15_W<15> {
371 MR15_W::new(self)
372 }
373 #[doc = "Bit 16 - Event Mask on line 16"]
374 #[inline(always)]
375 pub fn mr16(&mut self) -> MR16_W<16> {
376 MR16_W::new(self)
377 }
378 #[doc = "Bit 17 - Event Mask on line 17"]
379 #[inline(always)]
380 pub fn mr17(&mut self) -> MR17_W<17> {
381 MR17_W::new(self)
382 }
383 #[doc = "Bit 18 - Event Mask on line 18"]
384 #[inline(always)]
385 pub fn mr18(&mut self) -> MR18_W<18> {
386 MR18_W::new(self)
387 }
388 #[doc = "Writes raw bits to the register."]
389 #[inline(always)]
390 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
391 self.0.bits(bits);
392 self
393 }
394}
395#[doc = "Event mask register (EXTI_EMR)\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [emr](index.html) module"]
396pub struct EMR_SPEC;
397impl crate::RegisterSpec for EMR_SPEC {
398 type Ux = u32;
399}
400#[doc = "`read()` method returns [emr::R](R) reader structure"]
401impl crate::Readable for EMR_SPEC {
402 type Reader = R;
403}
404#[doc = "`write(|w| ..)` method takes [emr::W](W) writer structure"]
405impl crate::Writable for EMR_SPEC {
406 type Writer = W;
407}
408#[doc = "`reset()` method sets EMR to value 0"]
409impl crate::Resettable for EMR_SPEC {
410 #[inline(always)]
411 fn reset_value() -> Self::Ux {
412 0
413 }
414}