gd32vf103_pac/timer0/
intf.rs1#[doc = "Register `INTF` reader"]
2pub struct R(crate::R<INTF_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<INTF_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<INTF_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<INTF_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `INTF` writer"]
17pub struct W(crate::W<INTF_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<INTF_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<INTF_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<INTF_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `UPIF` reader - Update interrupt flag"]
38pub type UPIF_R = crate::BitReader<bool>;
39#[doc = "Field `UPIF` writer - Update interrupt flag"]
40pub type UPIF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
41#[doc = "Field `CH0IF` reader - Channel 0 capture/compare interrupt flag"]
42pub type CH0IF_R = crate::BitReader<bool>;
43#[doc = "Field `CH0IF` writer - Channel 0 capture/compare interrupt flag"]
44pub type CH0IF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
45#[doc = "Field `CH1IF` reader - Channel 1 capture/compare interrupt flag"]
46pub type CH1IF_R = crate::BitReader<bool>;
47#[doc = "Field `CH1IF` writer - Channel 1 capture/compare interrupt flag"]
48pub type CH1IF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
49#[doc = "Field `CH2IF` reader - Channel 2 capture/compare interrupt flag"]
50pub type CH2IF_R = crate::BitReader<bool>;
51#[doc = "Field `CH2IF` writer - Channel 2 capture/compare interrupt flag"]
52pub type CH2IF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
53#[doc = "Field `CH3IF` reader - Channel 3 capture/compare interrupt flag"]
54pub type CH3IF_R = crate::BitReader<bool>;
55#[doc = "Field `CH3IF` writer - Channel 3 capture/compare interrupt flag"]
56pub type CH3IF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
57#[doc = "Field `CMTIF` reader - Channel commutation interrupt flag"]
58pub type CMTIF_R = crate::BitReader<bool>;
59#[doc = "Field `CMTIF` writer - Channel commutation interrupt flag"]
60pub type CMTIF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
61#[doc = "Field `TRGIF` reader - Trigger interrupt flag"]
62pub type TRGIF_R = crate::BitReader<bool>;
63#[doc = "Field `TRGIF` writer - Trigger interrupt flag"]
64pub type TRGIF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
65#[doc = "Field `BRKIF` reader - Break interrupt flag"]
66pub type BRKIF_R = crate::BitReader<bool>;
67#[doc = "Field `BRKIF` writer - Break interrupt flag"]
68pub type BRKIF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
69#[doc = "Field `CH0OF` reader - Channel 0 over capture flag"]
70pub type CH0OF_R = crate::BitReader<bool>;
71#[doc = "Field `CH0OF` writer - Channel 0 over capture flag"]
72pub type CH0OF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
73#[doc = "Field `CH1OF` reader - Channel 1 over capture flag"]
74pub type CH1OF_R = crate::BitReader<bool>;
75#[doc = "Field `CH1OF` writer - Channel 1 over capture flag"]
76pub type CH1OF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
77#[doc = "Field `CH2OF` reader - Channel 2 over capture flag"]
78pub type CH2OF_R = crate::BitReader<bool>;
79#[doc = "Field `CH2OF` writer - Channel 2 over capture flag"]
80pub type CH2OF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
81#[doc = "Field `CH3OF` reader - Channel 3 over capture flag"]
82pub type CH3OF_R = crate::BitReader<bool>;
83#[doc = "Field `CH3OF` writer - Channel 3 over capture flag"]
84pub type CH3OF_W<'a, const O: u8> = crate::BitWriter<'a, u16, INTF_SPEC, bool, O>;
85impl R {
86 #[doc = "Bit 0 - Update interrupt flag"]
87 #[inline(always)]
88 pub fn upif(&self) -> UPIF_R {
89 UPIF_R::new((self.bits & 1) != 0)
90 }
91 #[doc = "Bit 1 - Channel 0 capture/compare interrupt flag"]
92 #[inline(always)]
93 pub fn ch0if(&self) -> CH0IF_R {
94 CH0IF_R::new(((self.bits >> 1) & 1) != 0)
95 }
96 #[doc = "Bit 2 - Channel 1 capture/compare interrupt flag"]
97 #[inline(always)]
98 pub fn ch1if(&self) -> CH1IF_R {
99 CH1IF_R::new(((self.bits >> 2) & 1) != 0)
100 }
101 #[doc = "Bit 3 - Channel 2 capture/compare interrupt flag"]
102 #[inline(always)]
103 pub fn ch2if(&self) -> CH2IF_R {
104 CH2IF_R::new(((self.bits >> 3) & 1) != 0)
105 }
106 #[doc = "Bit 4 - Channel 3 capture/compare interrupt flag"]
107 #[inline(always)]
108 pub fn ch3if(&self) -> CH3IF_R {
109 CH3IF_R::new(((self.bits >> 4) & 1) != 0)
110 }
111 #[doc = "Bit 5 - Channel commutation interrupt flag"]
112 #[inline(always)]
113 pub fn cmtif(&self) -> CMTIF_R {
114 CMTIF_R::new(((self.bits >> 5) & 1) != 0)
115 }
116 #[doc = "Bit 6 - Trigger interrupt flag"]
117 #[inline(always)]
118 pub fn trgif(&self) -> TRGIF_R {
119 TRGIF_R::new(((self.bits >> 6) & 1) != 0)
120 }
121 #[doc = "Bit 7 - Break interrupt flag"]
122 #[inline(always)]
123 pub fn brkif(&self) -> BRKIF_R {
124 BRKIF_R::new(((self.bits >> 7) & 1) != 0)
125 }
126 #[doc = "Bit 9 - Channel 0 over capture flag"]
127 #[inline(always)]
128 pub fn ch0of(&self) -> CH0OF_R {
129 CH0OF_R::new(((self.bits >> 9) & 1) != 0)
130 }
131 #[doc = "Bit 10 - Channel 1 over capture flag"]
132 #[inline(always)]
133 pub fn ch1of(&self) -> CH1OF_R {
134 CH1OF_R::new(((self.bits >> 10) & 1) != 0)
135 }
136 #[doc = "Bit 11 - Channel 2 over capture flag"]
137 #[inline(always)]
138 pub fn ch2of(&self) -> CH2OF_R {
139 CH2OF_R::new(((self.bits >> 11) & 1) != 0)
140 }
141 #[doc = "Bit 12 - Channel 3 over capture flag"]
142 #[inline(always)]
143 pub fn ch3of(&self) -> CH3OF_R {
144 CH3OF_R::new(((self.bits >> 12) & 1) != 0)
145 }
146}
147impl W {
148 #[doc = "Bit 0 - Update interrupt flag"]
149 #[inline(always)]
150 #[must_use]
151 pub fn upif(&mut self) -> UPIF_W<0> {
152 UPIF_W::new(self)
153 }
154 #[doc = "Bit 1 - Channel 0 capture/compare interrupt flag"]
155 #[inline(always)]
156 #[must_use]
157 pub fn ch0if(&mut self) -> CH0IF_W<1> {
158 CH0IF_W::new(self)
159 }
160 #[doc = "Bit 2 - Channel 1 capture/compare interrupt flag"]
161 #[inline(always)]
162 #[must_use]
163 pub fn ch1if(&mut self) -> CH1IF_W<2> {
164 CH1IF_W::new(self)
165 }
166 #[doc = "Bit 3 - Channel 2 capture/compare interrupt flag"]
167 #[inline(always)]
168 #[must_use]
169 pub fn ch2if(&mut self) -> CH2IF_W<3> {
170 CH2IF_W::new(self)
171 }
172 #[doc = "Bit 4 - Channel 3 capture/compare interrupt flag"]
173 #[inline(always)]
174 #[must_use]
175 pub fn ch3if(&mut self) -> CH3IF_W<4> {
176 CH3IF_W::new(self)
177 }
178 #[doc = "Bit 5 - Channel commutation interrupt flag"]
179 #[inline(always)]
180 #[must_use]
181 pub fn cmtif(&mut self) -> CMTIF_W<5> {
182 CMTIF_W::new(self)
183 }
184 #[doc = "Bit 6 - Trigger interrupt flag"]
185 #[inline(always)]
186 #[must_use]
187 pub fn trgif(&mut self) -> TRGIF_W<6> {
188 TRGIF_W::new(self)
189 }
190 #[doc = "Bit 7 - Break interrupt flag"]
191 #[inline(always)]
192 #[must_use]
193 pub fn brkif(&mut self) -> BRKIF_W<7> {
194 BRKIF_W::new(self)
195 }
196 #[doc = "Bit 9 - Channel 0 over capture flag"]
197 #[inline(always)]
198 #[must_use]
199 pub fn ch0of(&mut self) -> CH0OF_W<9> {
200 CH0OF_W::new(self)
201 }
202 #[doc = "Bit 10 - Channel 1 over capture flag"]
203 #[inline(always)]
204 #[must_use]
205 pub fn ch1of(&mut self) -> CH1OF_W<10> {
206 CH1OF_W::new(self)
207 }
208 #[doc = "Bit 11 - Channel 2 over capture flag"]
209 #[inline(always)]
210 #[must_use]
211 pub fn ch2of(&mut self) -> CH2OF_W<11> {
212 CH2OF_W::new(self)
213 }
214 #[doc = "Bit 12 - Channel 3 over capture flag"]
215 #[inline(always)]
216 #[must_use]
217 pub fn ch3of(&mut self) -> CH3OF_W<12> {
218 CH3OF_W::new(self)
219 }
220 #[doc = "Writes raw bits to the register."]
221 #[inline(always)]
222 pub unsafe fn bits(&mut self, bits: u16) -> &mut Self {
223 self.0.bits(bits);
224 self
225 }
226}
227#[doc = "Interrupt flag register\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 [intf](index.html) module"]
228pub struct INTF_SPEC;
229impl crate::RegisterSpec for INTF_SPEC {
230 type Ux = u16;
231}
232#[doc = "`read()` method returns [intf::R](R) reader structure"]
233impl crate::Readable for INTF_SPEC {
234 type Reader = R;
235}
236#[doc = "`write(|w| ..)` method takes [intf::W](W) writer structure"]
237impl crate::Writable for INTF_SPEC {
238 type Writer = W;
239 const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
240 const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
241}
242#[doc = "`reset()` method sets INTF to value 0"]
243impl crate::Resettable for INTF_SPEC {
244 const RESET_VALUE: Self::Ux = 0;
245}