stm32f3/stm32f303/syscfg/
exticr1.rs1#[doc = "Register `EXTICR1` reader"]
2pub struct R(crate::R<EXTICR1_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<EXTICR1_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<EXTICR1_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<EXTICR1_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `EXTICR1` writer"]
17pub struct W(crate::W<EXTICR1_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<EXTICR1_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<EXTICR1_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<EXTICR1_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "EXTI 3 configuration bits\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum EXTI3_A {
41 #[doc = "0: Select PA3 as the source input for the EXTI3 external interrupt"]
42 Pa3 = 0,
43 #[doc = "1: Select PB3 as the source input for the EXTI3 external interrupt"]
44 Pb3 = 1,
45 #[doc = "2: Select PC3 as the source input for the EXTI3 external interrupt"]
46 Pc3 = 2,
47 #[doc = "3: Select PD3 as the source input for the EXTI3 external interrupt"]
48 Pd3 = 3,
49 #[doc = "4: Select PE3 as the source input for the EXTI3 external interrupt"]
50 Pe3 = 4,
51 #[doc = "5: Select PF3 as the source input for the EXTI3 external interrupt"]
52 Pf3 = 5,
53 #[doc = "6: Select PG3 as the source input for the EXTI3 external interrupt"]
54 Pg3 = 6,
55}
56impl From<EXTI3_A> for u8 {
57 #[inline(always)]
58 fn from(variant: EXTI3_A) -> Self {
59 variant as _
60 }
61}
62#[doc = "Field `EXTI3` reader - EXTI 3 configuration bits"]
63pub type EXTI3_R = crate::FieldReader<u8, EXTI3_A>;
64impl EXTI3_R {
65 #[doc = "Get enumerated values variant"]
66 #[inline(always)]
67 pub fn variant(&self) -> Option<EXTI3_A> {
68 match self.bits {
69 0 => Some(EXTI3_A::Pa3),
70 1 => Some(EXTI3_A::Pb3),
71 2 => Some(EXTI3_A::Pc3),
72 3 => Some(EXTI3_A::Pd3),
73 4 => Some(EXTI3_A::Pe3),
74 5 => Some(EXTI3_A::Pf3),
75 6 => Some(EXTI3_A::Pg3),
76 _ => None,
77 }
78 }
79 #[doc = "Checks if the value of the field is `Pa3`"]
80 #[inline(always)]
81 pub fn is_pa3(&self) -> bool {
82 *self == EXTI3_A::Pa3
83 }
84 #[doc = "Checks if the value of the field is `Pb3`"]
85 #[inline(always)]
86 pub fn is_pb3(&self) -> bool {
87 *self == EXTI3_A::Pb3
88 }
89 #[doc = "Checks if the value of the field is `Pc3`"]
90 #[inline(always)]
91 pub fn is_pc3(&self) -> bool {
92 *self == EXTI3_A::Pc3
93 }
94 #[doc = "Checks if the value of the field is `Pd3`"]
95 #[inline(always)]
96 pub fn is_pd3(&self) -> bool {
97 *self == EXTI3_A::Pd3
98 }
99 #[doc = "Checks if the value of the field is `Pe3`"]
100 #[inline(always)]
101 pub fn is_pe3(&self) -> bool {
102 *self == EXTI3_A::Pe3
103 }
104 #[doc = "Checks if the value of the field is `Pf3`"]
105 #[inline(always)]
106 pub fn is_pf3(&self) -> bool {
107 *self == EXTI3_A::Pf3
108 }
109 #[doc = "Checks if the value of the field is `Pg3`"]
110 #[inline(always)]
111 pub fn is_pg3(&self) -> bool {
112 *self == EXTI3_A::Pg3
113 }
114}
115#[doc = "Field `EXTI3` writer - EXTI 3 configuration bits"]
116pub type EXTI3_W<'a, const O: u8> = crate::FieldWriter<'a, u32, EXTICR1_SPEC, u8, EXTI3_A, 4, O>;
117impl<'a, const O: u8> EXTI3_W<'a, O> {
118 #[doc = "Select PA3 as the source input for the EXTI3 external interrupt"]
119 #[inline(always)]
120 pub fn pa3(self) -> &'a mut W {
121 self.variant(EXTI3_A::Pa3)
122 }
123 #[doc = "Select PB3 as the source input for the EXTI3 external interrupt"]
124 #[inline(always)]
125 pub fn pb3(self) -> &'a mut W {
126 self.variant(EXTI3_A::Pb3)
127 }
128 #[doc = "Select PC3 as the source input for the EXTI3 external interrupt"]
129 #[inline(always)]
130 pub fn pc3(self) -> &'a mut W {
131 self.variant(EXTI3_A::Pc3)
132 }
133 #[doc = "Select PD3 as the source input for the EXTI3 external interrupt"]
134 #[inline(always)]
135 pub fn pd3(self) -> &'a mut W {
136 self.variant(EXTI3_A::Pd3)
137 }
138 #[doc = "Select PE3 as the source input for the EXTI3 external interrupt"]
139 #[inline(always)]
140 pub fn pe3(self) -> &'a mut W {
141 self.variant(EXTI3_A::Pe3)
142 }
143 #[doc = "Select PF3 as the source input for the EXTI3 external interrupt"]
144 #[inline(always)]
145 pub fn pf3(self) -> &'a mut W {
146 self.variant(EXTI3_A::Pf3)
147 }
148 #[doc = "Select PG3 as the source input for the EXTI3 external interrupt"]
149 #[inline(always)]
150 pub fn pg3(self) -> &'a mut W {
151 self.variant(EXTI3_A::Pg3)
152 }
153}
154#[doc = "EXTI 2 configuration bits\n\nValue on reset: 0"]
155#[derive(Clone, Copy, Debug, PartialEq)]
156#[repr(u8)]
157pub enum EXTI2_A {
158 #[doc = "0: Select PA2 as the source input for the EXTI2 external interrupt"]
159 Pa2 = 0,
160 #[doc = "1: Select PB2 as the source input for the EXTI2 external interrupt"]
161 Pb2 = 1,
162 #[doc = "2: Select PC2 as the source input for the EXTI2 external interrupt"]
163 Pc2 = 2,
164 #[doc = "3: Select PD2 as the source input for the EXTI2 external interrupt"]
165 Pd2 = 3,
166 #[doc = "4: Select PE2 as the source input for the EXTI2 external interrupt"]
167 Pe2 = 4,
168 #[doc = "5: Select PF2 as the source input for the EXTI2 external interrupt"]
169 Pf2 = 5,
170 #[doc = "6: Select PG2 as the source input for the EXTI2 external interrupt"]
171 Pg2 = 6,
172 #[doc = "7: Select PH2 as the source input for the EXTI2 external interrupt"]
173 Ph2 = 7,
174}
175impl From<EXTI2_A> for u8 {
176 #[inline(always)]
177 fn from(variant: EXTI2_A) -> Self {
178 variant as _
179 }
180}
181#[doc = "Field `EXTI2` reader - EXTI 2 configuration bits"]
182pub type EXTI2_R = crate::FieldReader<u8, EXTI2_A>;
183impl EXTI2_R {
184 #[doc = "Get enumerated values variant"]
185 #[inline(always)]
186 pub fn variant(&self) -> Option<EXTI2_A> {
187 match self.bits {
188 0 => Some(EXTI2_A::Pa2),
189 1 => Some(EXTI2_A::Pb2),
190 2 => Some(EXTI2_A::Pc2),
191 3 => Some(EXTI2_A::Pd2),
192 4 => Some(EXTI2_A::Pe2),
193 5 => Some(EXTI2_A::Pf2),
194 6 => Some(EXTI2_A::Pg2),
195 7 => Some(EXTI2_A::Ph2),
196 _ => None,
197 }
198 }
199 #[doc = "Checks if the value of the field is `Pa2`"]
200 #[inline(always)]
201 pub fn is_pa2(&self) -> bool {
202 *self == EXTI2_A::Pa2
203 }
204 #[doc = "Checks if the value of the field is `Pb2`"]
205 #[inline(always)]
206 pub fn is_pb2(&self) -> bool {
207 *self == EXTI2_A::Pb2
208 }
209 #[doc = "Checks if the value of the field is `Pc2`"]
210 #[inline(always)]
211 pub fn is_pc2(&self) -> bool {
212 *self == EXTI2_A::Pc2
213 }
214 #[doc = "Checks if the value of the field is `Pd2`"]
215 #[inline(always)]
216 pub fn is_pd2(&self) -> bool {
217 *self == EXTI2_A::Pd2
218 }
219 #[doc = "Checks if the value of the field is `Pe2`"]
220 #[inline(always)]
221 pub fn is_pe2(&self) -> bool {
222 *self == EXTI2_A::Pe2
223 }
224 #[doc = "Checks if the value of the field is `Pf2`"]
225 #[inline(always)]
226 pub fn is_pf2(&self) -> bool {
227 *self == EXTI2_A::Pf2
228 }
229 #[doc = "Checks if the value of the field is `Pg2`"]
230 #[inline(always)]
231 pub fn is_pg2(&self) -> bool {
232 *self == EXTI2_A::Pg2
233 }
234 #[doc = "Checks if the value of the field is `Ph2`"]
235 #[inline(always)]
236 pub fn is_ph2(&self) -> bool {
237 *self == EXTI2_A::Ph2
238 }
239}
240#[doc = "Field `EXTI2` writer - EXTI 2 configuration bits"]
241pub type EXTI2_W<'a, const O: u8> = crate::FieldWriter<'a, u32, EXTICR1_SPEC, u8, EXTI2_A, 4, O>;
242impl<'a, const O: u8> EXTI2_W<'a, O> {
243 #[doc = "Select PA2 as the source input for the EXTI2 external interrupt"]
244 #[inline(always)]
245 pub fn pa2(self) -> &'a mut W {
246 self.variant(EXTI2_A::Pa2)
247 }
248 #[doc = "Select PB2 as the source input for the EXTI2 external interrupt"]
249 #[inline(always)]
250 pub fn pb2(self) -> &'a mut W {
251 self.variant(EXTI2_A::Pb2)
252 }
253 #[doc = "Select PC2 as the source input for the EXTI2 external interrupt"]
254 #[inline(always)]
255 pub fn pc2(self) -> &'a mut W {
256 self.variant(EXTI2_A::Pc2)
257 }
258 #[doc = "Select PD2 as the source input for the EXTI2 external interrupt"]
259 #[inline(always)]
260 pub fn pd2(self) -> &'a mut W {
261 self.variant(EXTI2_A::Pd2)
262 }
263 #[doc = "Select PE2 as the source input for the EXTI2 external interrupt"]
264 #[inline(always)]
265 pub fn pe2(self) -> &'a mut W {
266 self.variant(EXTI2_A::Pe2)
267 }
268 #[doc = "Select PF2 as the source input for the EXTI2 external interrupt"]
269 #[inline(always)]
270 pub fn pf2(self) -> &'a mut W {
271 self.variant(EXTI2_A::Pf2)
272 }
273 #[doc = "Select PG2 as the source input for the EXTI2 external interrupt"]
274 #[inline(always)]
275 pub fn pg2(self) -> &'a mut W {
276 self.variant(EXTI2_A::Pg2)
277 }
278 #[doc = "Select PH2 as the source input for the EXTI2 external interrupt"]
279 #[inline(always)]
280 pub fn ph2(self) -> &'a mut W {
281 self.variant(EXTI2_A::Ph2)
282 }
283}
284#[doc = "EXTI 1 configuration bits\n\nValue on reset: 0"]
285#[derive(Clone, Copy, Debug, PartialEq)]
286#[repr(u8)]
287pub enum EXTI1_A {
288 #[doc = "0: Select PA1 as the source input for the EXTI1 external interrupt"]
289 Pa1 = 0,
290 #[doc = "1: Select PB1 as the source input for the EXTI1 external interrupt"]
291 Pb1 = 1,
292 #[doc = "2: Select PC1 as the source input for the EXTI1 external interrupt"]
293 Pc1 = 2,
294 #[doc = "3: Select PD1 as the source input for the EXTI1 external interrupt"]
295 Pd1 = 3,
296 #[doc = "4: Select PE1 as the source input for the EXTI1 external interrupt"]
297 Pe1 = 4,
298 #[doc = "5: Select PF1 as the source input for the EXTI1 external interrupt"]
299 Pf1 = 5,
300 #[doc = "6: Select PG1 as the source input for the EXTI1 external interrupt"]
301 Pg1 = 6,
302 #[doc = "7: Select PH1 as the source input for the EXTI1 external interrupt"]
303 Ph1 = 7,
304}
305impl From<EXTI1_A> for u8 {
306 #[inline(always)]
307 fn from(variant: EXTI1_A) -> Self {
308 variant as _
309 }
310}
311#[doc = "Field `EXTI1` reader - EXTI 1 configuration bits"]
312pub type EXTI1_R = crate::FieldReader<u8, EXTI1_A>;
313impl EXTI1_R {
314 #[doc = "Get enumerated values variant"]
315 #[inline(always)]
316 pub fn variant(&self) -> Option<EXTI1_A> {
317 match self.bits {
318 0 => Some(EXTI1_A::Pa1),
319 1 => Some(EXTI1_A::Pb1),
320 2 => Some(EXTI1_A::Pc1),
321 3 => Some(EXTI1_A::Pd1),
322 4 => Some(EXTI1_A::Pe1),
323 5 => Some(EXTI1_A::Pf1),
324 6 => Some(EXTI1_A::Pg1),
325 7 => Some(EXTI1_A::Ph1),
326 _ => None,
327 }
328 }
329 #[doc = "Checks if the value of the field is `Pa1`"]
330 #[inline(always)]
331 pub fn is_pa1(&self) -> bool {
332 *self == EXTI1_A::Pa1
333 }
334 #[doc = "Checks if the value of the field is `Pb1`"]
335 #[inline(always)]
336 pub fn is_pb1(&self) -> bool {
337 *self == EXTI1_A::Pb1
338 }
339 #[doc = "Checks if the value of the field is `Pc1`"]
340 #[inline(always)]
341 pub fn is_pc1(&self) -> bool {
342 *self == EXTI1_A::Pc1
343 }
344 #[doc = "Checks if the value of the field is `Pd1`"]
345 #[inline(always)]
346 pub fn is_pd1(&self) -> bool {
347 *self == EXTI1_A::Pd1
348 }
349 #[doc = "Checks if the value of the field is `Pe1`"]
350 #[inline(always)]
351 pub fn is_pe1(&self) -> bool {
352 *self == EXTI1_A::Pe1
353 }
354 #[doc = "Checks if the value of the field is `Pf1`"]
355 #[inline(always)]
356 pub fn is_pf1(&self) -> bool {
357 *self == EXTI1_A::Pf1
358 }
359 #[doc = "Checks if the value of the field is `Pg1`"]
360 #[inline(always)]
361 pub fn is_pg1(&self) -> bool {
362 *self == EXTI1_A::Pg1
363 }
364 #[doc = "Checks if the value of the field is `Ph1`"]
365 #[inline(always)]
366 pub fn is_ph1(&self) -> bool {
367 *self == EXTI1_A::Ph1
368 }
369}
370#[doc = "Field `EXTI1` writer - EXTI 1 configuration bits"]
371pub type EXTI1_W<'a, const O: u8> = crate::FieldWriter<'a, u32, EXTICR1_SPEC, u8, EXTI1_A, 4, O>;
372impl<'a, const O: u8> EXTI1_W<'a, O> {
373 #[doc = "Select PA1 as the source input for the EXTI1 external interrupt"]
374 #[inline(always)]
375 pub fn pa1(self) -> &'a mut W {
376 self.variant(EXTI1_A::Pa1)
377 }
378 #[doc = "Select PB1 as the source input for the EXTI1 external interrupt"]
379 #[inline(always)]
380 pub fn pb1(self) -> &'a mut W {
381 self.variant(EXTI1_A::Pb1)
382 }
383 #[doc = "Select PC1 as the source input for the EXTI1 external interrupt"]
384 #[inline(always)]
385 pub fn pc1(self) -> &'a mut W {
386 self.variant(EXTI1_A::Pc1)
387 }
388 #[doc = "Select PD1 as the source input for the EXTI1 external interrupt"]
389 #[inline(always)]
390 pub fn pd1(self) -> &'a mut W {
391 self.variant(EXTI1_A::Pd1)
392 }
393 #[doc = "Select PE1 as the source input for the EXTI1 external interrupt"]
394 #[inline(always)]
395 pub fn pe1(self) -> &'a mut W {
396 self.variant(EXTI1_A::Pe1)
397 }
398 #[doc = "Select PF1 as the source input for the EXTI1 external interrupt"]
399 #[inline(always)]
400 pub fn pf1(self) -> &'a mut W {
401 self.variant(EXTI1_A::Pf1)
402 }
403 #[doc = "Select PG1 as the source input for the EXTI1 external interrupt"]
404 #[inline(always)]
405 pub fn pg1(self) -> &'a mut W {
406 self.variant(EXTI1_A::Pg1)
407 }
408 #[doc = "Select PH1 as the source input for the EXTI1 external interrupt"]
409 #[inline(always)]
410 pub fn ph1(self) -> &'a mut W {
411 self.variant(EXTI1_A::Ph1)
412 }
413}
414#[doc = "EXTI 0 configuration bits\n\nValue on reset: 0"]
415#[derive(Clone, Copy, Debug, PartialEq)]
416#[repr(u8)]
417pub enum EXTI0_A {
418 #[doc = "0: Select PA0 as the source input for the EXTI0 external interrupt"]
419 Pa0 = 0,
420 #[doc = "1: Select PB0 as the source input for the EXTI0 external interrupt"]
421 Pb0 = 1,
422 #[doc = "2: Select PC0 as the source input for the EXTI0 external interrupt"]
423 Pc0 = 2,
424 #[doc = "3: Select PD0 as the source input for the EXTI0 external interrupt"]
425 Pd0 = 3,
426 #[doc = "4: Select PE0 as the source input for the EXTI0 external interrupt"]
427 Pe0 = 4,
428 #[doc = "5: Select PF0 as the source input for the EXTI0 external interrupt"]
429 Pf0 = 5,
430 #[doc = "6: Select PG0 as the source input for the EXTI0 external interrupt"]
431 Pg0 = 6,
432 #[doc = "7: Select PH0 as the source input for the EXTI0 external interrupt"]
433 Ph0 = 7,
434}
435impl From<EXTI0_A> for u8 {
436 #[inline(always)]
437 fn from(variant: EXTI0_A) -> Self {
438 variant as _
439 }
440}
441#[doc = "Field `EXTI0` reader - EXTI 0 configuration bits"]
442pub type EXTI0_R = crate::FieldReader<u8, EXTI0_A>;
443impl EXTI0_R {
444 #[doc = "Get enumerated values variant"]
445 #[inline(always)]
446 pub fn variant(&self) -> Option<EXTI0_A> {
447 match self.bits {
448 0 => Some(EXTI0_A::Pa0),
449 1 => Some(EXTI0_A::Pb0),
450 2 => Some(EXTI0_A::Pc0),
451 3 => Some(EXTI0_A::Pd0),
452 4 => Some(EXTI0_A::Pe0),
453 5 => Some(EXTI0_A::Pf0),
454 6 => Some(EXTI0_A::Pg0),
455 7 => Some(EXTI0_A::Ph0),
456 _ => None,
457 }
458 }
459 #[doc = "Checks if the value of the field is `Pa0`"]
460 #[inline(always)]
461 pub fn is_pa0(&self) -> bool {
462 *self == EXTI0_A::Pa0
463 }
464 #[doc = "Checks if the value of the field is `Pb0`"]
465 #[inline(always)]
466 pub fn is_pb0(&self) -> bool {
467 *self == EXTI0_A::Pb0
468 }
469 #[doc = "Checks if the value of the field is `Pc0`"]
470 #[inline(always)]
471 pub fn is_pc0(&self) -> bool {
472 *self == EXTI0_A::Pc0
473 }
474 #[doc = "Checks if the value of the field is `Pd0`"]
475 #[inline(always)]
476 pub fn is_pd0(&self) -> bool {
477 *self == EXTI0_A::Pd0
478 }
479 #[doc = "Checks if the value of the field is `Pe0`"]
480 #[inline(always)]
481 pub fn is_pe0(&self) -> bool {
482 *self == EXTI0_A::Pe0
483 }
484 #[doc = "Checks if the value of the field is `Pf0`"]
485 #[inline(always)]
486 pub fn is_pf0(&self) -> bool {
487 *self == EXTI0_A::Pf0
488 }
489 #[doc = "Checks if the value of the field is `Pg0`"]
490 #[inline(always)]
491 pub fn is_pg0(&self) -> bool {
492 *self == EXTI0_A::Pg0
493 }
494 #[doc = "Checks if the value of the field is `Ph0`"]
495 #[inline(always)]
496 pub fn is_ph0(&self) -> bool {
497 *self == EXTI0_A::Ph0
498 }
499}
500#[doc = "Field `EXTI0` writer - EXTI 0 configuration bits"]
501pub type EXTI0_W<'a, const O: u8> = crate::FieldWriter<'a, u32, EXTICR1_SPEC, u8, EXTI0_A, 4, O>;
502impl<'a, const O: u8> EXTI0_W<'a, O> {
503 #[doc = "Select PA0 as the source input for the EXTI0 external interrupt"]
504 #[inline(always)]
505 pub fn pa0(self) -> &'a mut W {
506 self.variant(EXTI0_A::Pa0)
507 }
508 #[doc = "Select PB0 as the source input for the EXTI0 external interrupt"]
509 #[inline(always)]
510 pub fn pb0(self) -> &'a mut W {
511 self.variant(EXTI0_A::Pb0)
512 }
513 #[doc = "Select PC0 as the source input for the EXTI0 external interrupt"]
514 #[inline(always)]
515 pub fn pc0(self) -> &'a mut W {
516 self.variant(EXTI0_A::Pc0)
517 }
518 #[doc = "Select PD0 as the source input for the EXTI0 external interrupt"]
519 #[inline(always)]
520 pub fn pd0(self) -> &'a mut W {
521 self.variant(EXTI0_A::Pd0)
522 }
523 #[doc = "Select PE0 as the source input for the EXTI0 external interrupt"]
524 #[inline(always)]
525 pub fn pe0(self) -> &'a mut W {
526 self.variant(EXTI0_A::Pe0)
527 }
528 #[doc = "Select PF0 as the source input for the EXTI0 external interrupt"]
529 #[inline(always)]
530 pub fn pf0(self) -> &'a mut W {
531 self.variant(EXTI0_A::Pf0)
532 }
533 #[doc = "Select PG0 as the source input for the EXTI0 external interrupt"]
534 #[inline(always)]
535 pub fn pg0(self) -> &'a mut W {
536 self.variant(EXTI0_A::Pg0)
537 }
538 #[doc = "Select PH0 as the source input for the EXTI0 external interrupt"]
539 #[inline(always)]
540 pub fn ph0(self) -> &'a mut W {
541 self.variant(EXTI0_A::Ph0)
542 }
543}
544impl R {
545 #[doc = "Bits 12:15 - EXTI 3 configuration bits"]
546 #[inline(always)]
547 pub fn exti3(&self) -> EXTI3_R {
548 EXTI3_R::new(((self.bits >> 12) & 0x0f) as u8)
549 }
550 #[doc = "Bits 8:11 - EXTI 2 configuration bits"]
551 #[inline(always)]
552 pub fn exti2(&self) -> EXTI2_R {
553 EXTI2_R::new(((self.bits >> 8) & 0x0f) as u8)
554 }
555 #[doc = "Bits 4:7 - EXTI 1 configuration bits"]
556 #[inline(always)]
557 pub fn exti1(&self) -> EXTI1_R {
558 EXTI1_R::new(((self.bits >> 4) & 0x0f) as u8)
559 }
560 #[doc = "Bits 0:3 - EXTI 0 configuration bits"]
561 #[inline(always)]
562 pub fn exti0(&self) -> EXTI0_R {
563 EXTI0_R::new((self.bits & 0x0f) as u8)
564 }
565}
566impl W {
567 #[doc = "Bits 12:15 - EXTI 3 configuration bits"]
568 #[inline(always)]
569 pub fn exti3(&mut self) -> EXTI3_W<12> {
570 EXTI3_W::new(self)
571 }
572 #[doc = "Bits 8:11 - EXTI 2 configuration bits"]
573 #[inline(always)]
574 pub fn exti2(&mut self) -> EXTI2_W<8> {
575 EXTI2_W::new(self)
576 }
577 #[doc = "Bits 4:7 - EXTI 1 configuration bits"]
578 #[inline(always)]
579 pub fn exti1(&mut self) -> EXTI1_W<4> {
580 EXTI1_W::new(self)
581 }
582 #[doc = "Bits 0:3 - EXTI 0 configuration bits"]
583 #[inline(always)]
584 pub fn exti0(&mut self) -> EXTI0_W<0> {
585 EXTI0_W::new(self)
586 }
587 #[doc = "Writes raw bits to the register."]
588 #[inline(always)]
589 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
590 self.0.bits(bits);
591 self
592 }
593}
594#[doc = "external interrupt configuration register 1\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 [exticr1](index.html) module"]
595pub struct EXTICR1_SPEC;
596impl crate::RegisterSpec for EXTICR1_SPEC {
597 type Ux = u32;
598}
599#[doc = "`read()` method returns [exticr1::R](R) reader structure"]
600impl crate::Readable for EXTICR1_SPEC {
601 type Reader = R;
602}
603#[doc = "`write(|w| ..)` method takes [exticr1::W](W) writer structure"]
604impl crate::Writable for EXTICR1_SPEC {
605 type Writer = W;
606}
607#[doc = "`reset()` method sets EXTICR1 to value 0"]
608impl crate::Resettable for EXTICR1_SPEC {
609 #[inline(always)]
610 fn reset_value() -> Self::Ux {
611 0
612 }
613}