atsam4ls8a_pac/eic/
en.rs

1#[doc = "Register `EN` writer"]
2pub struct W(crate::W<EN_SPEC>);
3impl core::ops::Deref for W {
4    type Target = crate::W<EN_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl core::ops::DerefMut for W {
11    #[inline(always)]
12    fn deref_mut(&mut self) -> &mut Self::Target {
13        &mut self.0
14    }
15}
16impl From<crate::W<EN_SPEC>> for W {
17    #[inline(always)]
18    fn from(writer: crate::W<EN_SPEC>) -> Self {
19        W(writer)
20    }
21}
22#[doc = "Field `NMI` writer - External Non Maskable CPU interrupt"]
23pub type NMI_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
24#[doc = "Field `INT1` writer - External Interrupt 1"]
25pub type INT1_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
26#[doc = "Field `INT2` writer - External Interrupt 2"]
27pub type INT2_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
28#[doc = "Field `INT3` writer - External Interrupt 3"]
29pub type INT3_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
30#[doc = "Field `INT4` writer - External Interrupt 4"]
31pub type INT4_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
32#[doc = "Field `INT5` writer - External Interrupt 5"]
33pub type INT5_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
34#[doc = "Field `INT6` writer - External Interrupt 6"]
35pub type INT6_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
36#[doc = "Field `INT7` writer - External Interrupt 7"]
37pub type INT7_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
38#[doc = "Field `INT8` writer - External Interrupt 8"]
39pub type INT8_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
40#[doc = "Field `INT9` writer - External Interrupt 9"]
41pub type INT9_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
42#[doc = "Field `INT10` writer - External Interrupt 10"]
43pub type INT10_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
44#[doc = "Field `INT11` writer - External Interrupt 11"]
45pub type INT11_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
46#[doc = "Field `INT12` writer - External Interrupt 12"]
47pub type INT12_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
48#[doc = "Field `INT13` writer - External Interrupt 13"]
49pub type INT13_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
50#[doc = "Field `INT14` writer - External Interrupt 14"]
51pub type INT14_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
52#[doc = "Field `INT15` writer - External Interrupt 15"]
53pub type INT15_W<'a, const O: u8> = crate::BitWriter<'a, u32, EN_SPEC, bool, O>;
54impl W {
55    #[doc = "Bit 0 - External Non Maskable CPU interrupt"]
56    #[inline(always)]
57    #[must_use]
58    pub fn nmi(&mut self) -> NMI_W<0> {
59        NMI_W::new(self)
60    }
61    #[doc = "Bit 1 - External Interrupt 1"]
62    #[inline(always)]
63    #[must_use]
64    pub fn int1(&mut self) -> INT1_W<1> {
65        INT1_W::new(self)
66    }
67    #[doc = "Bit 2 - External Interrupt 2"]
68    #[inline(always)]
69    #[must_use]
70    pub fn int2(&mut self) -> INT2_W<2> {
71        INT2_W::new(self)
72    }
73    #[doc = "Bit 3 - External Interrupt 3"]
74    #[inline(always)]
75    #[must_use]
76    pub fn int3(&mut self) -> INT3_W<3> {
77        INT3_W::new(self)
78    }
79    #[doc = "Bit 4 - External Interrupt 4"]
80    #[inline(always)]
81    #[must_use]
82    pub fn int4(&mut self) -> INT4_W<4> {
83        INT4_W::new(self)
84    }
85    #[doc = "Bit 5 - External Interrupt 5"]
86    #[inline(always)]
87    #[must_use]
88    pub fn int5(&mut self) -> INT5_W<5> {
89        INT5_W::new(self)
90    }
91    #[doc = "Bit 6 - External Interrupt 6"]
92    #[inline(always)]
93    #[must_use]
94    pub fn int6(&mut self) -> INT6_W<6> {
95        INT6_W::new(self)
96    }
97    #[doc = "Bit 7 - External Interrupt 7"]
98    #[inline(always)]
99    #[must_use]
100    pub fn int7(&mut self) -> INT7_W<7> {
101        INT7_W::new(self)
102    }
103    #[doc = "Bit 8 - External Interrupt 8"]
104    #[inline(always)]
105    #[must_use]
106    pub fn int8(&mut self) -> INT8_W<8> {
107        INT8_W::new(self)
108    }
109    #[doc = "Bit 9 - External Interrupt 9"]
110    #[inline(always)]
111    #[must_use]
112    pub fn int9(&mut self) -> INT9_W<9> {
113        INT9_W::new(self)
114    }
115    #[doc = "Bit 10 - External Interrupt 10"]
116    #[inline(always)]
117    #[must_use]
118    pub fn int10(&mut self) -> INT10_W<10> {
119        INT10_W::new(self)
120    }
121    #[doc = "Bit 11 - External Interrupt 11"]
122    #[inline(always)]
123    #[must_use]
124    pub fn int11(&mut self) -> INT11_W<11> {
125        INT11_W::new(self)
126    }
127    #[doc = "Bit 12 - External Interrupt 12"]
128    #[inline(always)]
129    #[must_use]
130    pub fn int12(&mut self) -> INT12_W<12> {
131        INT12_W::new(self)
132    }
133    #[doc = "Bit 13 - External Interrupt 13"]
134    #[inline(always)]
135    #[must_use]
136    pub fn int13(&mut self) -> INT13_W<13> {
137        INT13_W::new(self)
138    }
139    #[doc = "Bit 14 - External Interrupt 14"]
140    #[inline(always)]
141    #[must_use]
142    pub fn int14(&mut self) -> INT14_W<14> {
143        INT14_W::new(self)
144    }
145    #[doc = "Bit 15 - External Interrupt 15"]
146    #[inline(always)]
147    #[must_use]
148    pub fn int15(&mut self) -> INT15_W<15> {
149        INT15_W::new(self)
150    }
151    #[doc = "Writes raw bits to the register."]
152    #[inline(always)]
153    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
154        self.0.bits(bits);
155        self
156    }
157}
158#[doc = "Enable Register\n\nThis register you can [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [en](index.html) module"]
159pub struct EN_SPEC;
160impl crate::RegisterSpec for EN_SPEC {
161    type Ux = u32;
162}
163#[doc = "`write(|w| ..)` method takes [en::W](W) writer structure"]
164impl crate::Writable for EN_SPEC {
165    type Writer = W;
166    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
167    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
168}
169#[doc = "`reset()` method sets EN to value 0"]
170impl crate::Resettable for EN_SPEC {
171    const RESET_VALUE: Self::Ux = 0;
172}