efm32gg11b840_pac/usart4/
timing.rs1#[doc = "Register `TIMING` reader"]
2pub struct R(crate::R<TIMING_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<TIMING_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<TIMING_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<TIMING_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `TIMING` writer"]
17pub struct W(crate::W<TIMING_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<TIMING_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<TIMING_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<TIMING_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "TX Frame Start Delay\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum TXDELAY_A {
41 #[doc = "0: Disable - TXDELAY in USARTn_CTRL can be used for legacy"]
42 DISABLE = 0,
43 #[doc = "1: Start of transmission is delayed for 1 baud-times"]
44 ONE = 1,
45 #[doc = "2: Start of transmission is delayed for 2 baud-times"]
46 TWO = 2,
47 #[doc = "3: Start of transmission is delayed for 3 baud-times"]
48 THREE = 3,
49 #[doc = "4: Start of transmission is delayed for 7 baud-times"]
50 SEVEN = 4,
51 #[doc = "5: Start of transmission is delayed for TCMPVAL0 baud-times"]
52 TCMP0 = 5,
53 #[doc = "6: Start of transmission is delayed for TCMPVAL1 baud-times"]
54 TCMP1 = 6,
55 #[doc = "7: Start of transmission is delayed for TCMPVAL2 baud-times"]
56 TCMP2 = 7,
57}
58impl From<TXDELAY_A> for u8 {
59 #[inline(always)]
60 fn from(variant: TXDELAY_A) -> Self {
61 variant as _
62 }
63}
64#[doc = "Field `TXDELAY` reader - TX Frame Start Delay"]
65pub type TXDELAY_R = crate::FieldReader<u8, TXDELAY_A>;
66impl TXDELAY_R {
67 #[doc = "Get enumerated values variant"]
68 #[inline(always)]
69 pub fn variant(&self) -> TXDELAY_A {
70 match self.bits {
71 0 => TXDELAY_A::DISABLE,
72 1 => TXDELAY_A::ONE,
73 2 => TXDELAY_A::TWO,
74 3 => TXDELAY_A::THREE,
75 4 => TXDELAY_A::SEVEN,
76 5 => TXDELAY_A::TCMP0,
77 6 => TXDELAY_A::TCMP1,
78 7 => TXDELAY_A::TCMP2,
79 _ => unreachable!(),
80 }
81 }
82 #[doc = "Checks if the value of the field is `DISABLE`"]
83 #[inline(always)]
84 pub fn is_disable(&self) -> bool {
85 *self == TXDELAY_A::DISABLE
86 }
87 #[doc = "Checks if the value of the field is `ONE`"]
88 #[inline(always)]
89 pub fn is_one(&self) -> bool {
90 *self == TXDELAY_A::ONE
91 }
92 #[doc = "Checks if the value of the field is `TWO`"]
93 #[inline(always)]
94 pub fn is_two(&self) -> bool {
95 *self == TXDELAY_A::TWO
96 }
97 #[doc = "Checks if the value of the field is `THREE`"]
98 #[inline(always)]
99 pub fn is_three(&self) -> bool {
100 *self == TXDELAY_A::THREE
101 }
102 #[doc = "Checks if the value of the field is `SEVEN`"]
103 #[inline(always)]
104 pub fn is_seven(&self) -> bool {
105 *self == TXDELAY_A::SEVEN
106 }
107 #[doc = "Checks if the value of the field is `TCMP0`"]
108 #[inline(always)]
109 pub fn is_tcmp0(&self) -> bool {
110 *self == TXDELAY_A::TCMP0
111 }
112 #[doc = "Checks if the value of the field is `TCMP1`"]
113 #[inline(always)]
114 pub fn is_tcmp1(&self) -> bool {
115 *self == TXDELAY_A::TCMP1
116 }
117 #[doc = "Checks if the value of the field is `TCMP2`"]
118 #[inline(always)]
119 pub fn is_tcmp2(&self) -> bool {
120 *self == TXDELAY_A::TCMP2
121 }
122}
123#[doc = "Field `TXDELAY` writer - TX Frame Start Delay"]
124pub type TXDELAY_W<'a> = crate::FieldWriterSafe<'a, u32, TIMING_SPEC, u8, TXDELAY_A, 3, 16>;
125impl<'a> TXDELAY_W<'a> {
126 #[doc = "Disable - TXDELAY in USARTn_CTRL can be used for legacy"]
127 #[inline(always)]
128 pub fn disable(self) -> &'a mut W {
129 self.variant(TXDELAY_A::DISABLE)
130 }
131 #[doc = "Start of transmission is delayed for 1 baud-times"]
132 #[inline(always)]
133 pub fn one(self) -> &'a mut W {
134 self.variant(TXDELAY_A::ONE)
135 }
136 #[doc = "Start of transmission is delayed for 2 baud-times"]
137 #[inline(always)]
138 pub fn two(self) -> &'a mut W {
139 self.variant(TXDELAY_A::TWO)
140 }
141 #[doc = "Start of transmission is delayed for 3 baud-times"]
142 #[inline(always)]
143 pub fn three(self) -> &'a mut W {
144 self.variant(TXDELAY_A::THREE)
145 }
146 #[doc = "Start of transmission is delayed for 7 baud-times"]
147 #[inline(always)]
148 pub fn seven(self) -> &'a mut W {
149 self.variant(TXDELAY_A::SEVEN)
150 }
151 #[doc = "Start of transmission is delayed for TCMPVAL0 baud-times"]
152 #[inline(always)]
153 pub fn tcmp0(self) -> &'a mut W {
154 self.variant(TXDELAY_A::TCMP0)
155 }
156 #[doc = "Start of transmission is delayed for TCMPVAL1 baud-times"]
157 #[inline(always)]
158 pub fn tcmp1(self) -> &'a mut W {
159 self.variant(TXDELAY_A::TCMP1)
160 }
161 #[doc = "Start of transmission is delayed for TCMPVAL2 baud-times"]
162 #[inline(always)]
163 pub fn tcmp2(self) -> &'a mut W {
164 self.variant(TXDELAY_A::TCMP2)
165 }
166}
167#[doc = "Chip Select Setup\n\nValue on reset: 0"]
168#[derive(Clone, Copy, Debug, PartialEq)]
169#[repr(u8)]
170pub enum CSSETUP_A {
171 #[doc = "0: CS is not asserted before start of transmission"]
172 ZERO = 0,
173 #[doc = "1: CS is asserted for 1 baud-times before start of transmission"]
174 ONE = 1,
175 #[doc = "2: CS is asserted for 2 baud-times before start of transmission"]
176 TWO = 2,
177 #[doc = "3: CS is asserted for 3 baud-times before start of transmission"]
178 THREE = 3,
179 #[doc = "4: CS is asserted for 7 baud-times before start of transmission"]
180 SEVEN = 4,
181 #[doc = "5: CS is asserted before the start of transmission for TCMPVAL0 baud-times"]
182 TCMP0 = 5,
183 #[doc = "6: CS is asserted before the start of transmission for TCMPVAL1 baud-times"]
184 TCMP1 = 6,
185 #[doc = "7: CS is asserted before the start of transmission for TCMPVAL2 baud-times"]
186 TCMP2 = 7,
187}
188impl From<CSSETUP_A> for u8 {
189 #[inline(always)]
190 fn from(variant: CSSETUP_A) -> Self {
191 variant as _
192 }
193}
194#[doc = "Field `CSSETUP` reader - Chip Select Setup"]
195pub type CSSETUP_R = crate::FieldReader<u8, CSSETUP_A>;
196impl CSSETUP_R {
197 #[doc = "Get enumerated values variant"]
198 #[inline(always)]
199 pub fn variant(&self) -> CSSETUP_A {
200 match self.bits {
201 0 => CSSETUP_A::ZERO,
202 1 => CSSETUP_A::ONE,
203 2 => CSSETUP_A::TWO,
204 3 => CSSETUP_A::THREE,
205 4 => CSSETUP_A::SEVEN,
206 5 => CSSETUP_A::TCMP0,
207 6 => CSSETUP_A::TCMP1,
208 7 => CSSETUP_A::TCMP2,
209 _ => unreachable!(),
210 }
211 }
212 #[doc = "Checks if the value of the field is `ZERO`"]
213 #[inline(always)]
214 pub fn is_zero(&self) -> bool {
215 *self == CSSETUP_A::ZERO
216 }
217 #[doc = "Checks if the value of the field is `ONE`"]
218 #[inline(always)]
219 pub fn is_one(&self) -> bool {
220 *self == CSSETUP_A::ONE
221 }
222 #[doc = "Checks if the value of the field is `TWO`"]
223 #[inline(always)]
224 pub fn is_two(&self) -> bool {
225 *self == CSSETUP_A::TWO
226 }
227 #[doc = "Checks if the value of the field is `THREE`"]
228 #[inline(always)]
229 pub fn is_three(&self) -> bool {
230 *self == CSSETUP_A::THREE
231 }
232 #[doc = "Checks if the value of the field is `SEVEN`"]
233 #[inline(always)]
234 pub fn is_seven(&self) -> bool {
235 *self == CSSETUP_A::SEVEN
236 }
237 #[doc = "Checks if the value of the field is `TCMP0`"]
238 #[inline(always)]
239 pub fn is_tcmp0(&self) -> bool {
240 *self == CSSETUP_A::TCMP0
241 }
242 #[doc = "Checks if the value of the field is `TCMP1`"]
243 #[inline(always)]
244 pub fn is_tcmp1(&self) -> bool {
245 *self == CSSETUP_A::TCMP1
246 }
247 #[doc = "Checks if the value of the field is `TCMP2`"]
248 #[inline(always)]
249 pub fn is_tcmp2(&self) -> bool {
250 *self == CSSETUP_A::TCMP2
251 }
252}
253#[doc = "Field `CSSETUP` writer - Chip Select Setup"]
254pub type CSSETUP_W<'a> = crate::FieldWriterSafe<'a, u32, TIMING_SPEC, u8, CSSETUP_A, 3, 20>;
255impl<'a> CSSETUP_W<'a> {
256 #[doc = "CS is not asserted before start of transmission"]
257 #[inline(always)]
258 pub fn zero(self) -> &'a mut W {
259 self.variant(CSSETUP_A::ZERO)
260 }
261 #[doc = "CS is asserted for 1 baud-times before start of transmission"]
262 #[inline(always)]
263 pub fn one(self) -> &'a mut W {
264 self.variant(CSSETUP_A::ONE)
265 }
266 #[doc = "CS is asserted for 2 baud-times before start of transmission"]
267 #[inline(always)]
268 pub fn two(self) -> &'a mut W {
269 self.variant(CSSETUP_A::TWO)
270 }
271 #[doc = "CS is asserted for 3 baud-times before start of transmission"]
272 #[inline(always)]
273 pub fn three(self) -> &'a mut W {
274 self.variant(CSSETUP_A::THREE)
275 }
276 #[doc = "CS is asserted for 7 baud-times before start of transmission"]
277 #[inline(always)]
278 pub fn seven(self) -> &'a mut W {
279 self.variant(CSSETUP_A::SEVEN)
280 }
281 #[doc = "CS is asserted before the start of transmission for TCMPVAL0 baud-times"]
282 #[inline(always)]
283 pub fn tcmp0(self) -> &'a mut W {
284 self.variant(CSSETUP_A::TCMP0)
285 }
286 #[doc = "CS is asserted before the start of transmission for TCMPVAL1 baud-times"]
287 #[inline(always)]
288 pub fn tcmp1(self) -> &'a mut W {
289 self.variant(CSSETUP_A::TCMP1)
290 }
291 #[doc = "CS is asserted before the start of transmission for TCMPVAL2 baud-times"]
292 #[inline(always)]
293 pub fn tcmp2(self) -> &'a mut W {
294 self.variant(CSSETUP_A::TCMP2)
295 }
296}
297#[doc = "Inter-character Spacing\n\nValue on reset: 0"]
298#[derive(Clone, Copy, Debug, PartialEq)]
299#[repr(u8)]
300pub enum ICS_A {
301 #[doc = "0: There is no space between charcters"]
302 ZERO = 0,
303 #[doc = "1: Create a space of 1 baud-times before start of transmission"]
304 ONE = 1,
305 #[doc = "2: Create a space of 2 baud-times before start of transmission"]
306 TWO = 2,
307 #[doc = "3: Create a space of 3 baud-times before start of transmission"]
308 THREE = 3,
309 #[doc = "4: Create a space of 7 baud-times before start of transmission"]
310 SEVEN = 4,
311 #[doc = "5: Create a space of before the start of transmission for TCMPVAL0 baud-times"]
312 TCMP0 = 5,
313 #[doc = "6: Create a space of before the start of transmission for TCMPVAL1 baud-times"]
314 TCMP1 = 6,
315 #[doc = "7: Create a space of before the start of transmission for TCMPVAL2 baud-times"]
316 TCMP2 = 7,
317}
318impl From<ICS_A> for u8 {
319 #[inline(always)]
320 fn from(variant: ICS_A) -> Self {
321 variant as _
322 }
323}
324#[doc = "Field `ICS` reader - Inter-character Spacing"]
325pub type ICS_R = crate::FieldReader<u8, ICS_A>;
326impl ICS_R {
327 #[doc = "Get enumerated values variant"]
328 #[inline(always)]
329 pub fn variant(&self) -> ICS_A {
330 match self.bits {
331 0 => ICS_A::ZERO,
332 1 => ICS_A::ONE,
333 2 => ICS_A::TWO,
334 3 => ICS_A::THREE,
335 4 => ICS_A::SEVEN,
336 5 => ICS_A::TCMP0,
337 6 => ICS_A::TCMP1,
338 7 => ICS_A::TCMP2,
339 _ => unreachable!(),
340 }
341 }
342 #[doc = "Checks if the value of the field is `ZERO`"]
343 #[inline(always)]
344 pub fn is_zero(&self) -> bool {
345 *self == ICS_A::ZERO
346 }
347 #[doc = "Checks if the value of the field is `ONE`"]
348 #[inline(always)]
349 pub fn is_one(&self) -> bool {
350 *self == ICS_A::ONE
351 }
352 #[doc = "Checks if the value of the field is `TWO`"]
353 #[inline(always)]
354 pub fn is_two(&self) -> bool {
355 *self == ICS_A::TWO
356 }
357 #[doc = "Checks if the value of the field is `THREE`"]
358 #[inline(always)]
359 pub fn is_three(&self) -> bool {
360 *self == ICS_A::THREE
361 }
362 #[doc = "Checks if the value of the field is `SEVEN`"]
363 #[inline(always)]
364 pub fn is_seven(&self) -> bool {
365 *self == ICS_A::SEVEN
366 }
367 #[doc = "Checks if the value of the field is `TCMP0`"]
368 #[inline(always)]
369 pub fn is_tcmp0(&self) -> bool {
370 *self == ICS_A::TCMP0
371 }
372 #[doc = "Checks if the value of the field is `TCMP1`"]
373 #[inline(always)]
374 pub fn is_tcmp1(&self) -> bool {
375 *self == ICS_A::TCMP1
376 }
377 #[doc = "Checks if the value of the field is `TCMP2`"]
378 #[inline(always)]
379 pub fn is_tcmp2(&self) -> bool {
380 *self == ICS_A::TCMP2
381 }
382}
383#[doc = "Field `ICS` writer - Inter-character Spacing"]
384pub type ICS_W<'a> = crate::FieldWriterSafe<'a, u32, TIMING_SPEC, u8, ICS_A, 3, 24>;
385impl<'a> ICS_W<'a> {
386 #[doc = "There is no space between charcters"]
387 #[inline(always)]
388 pub fn zero(self) -> &'a mut W {
389 self.variant(ICS_A::ZERO)
390 }
391 #[doc = "Create a space of 1 baud-times before start of transmission"]
392 #[inline(always)]
393 pub fn one(self) -> &'a mut W {
394 self.variant(ICS_A::ONE)
395 }
396 #[doc = "Create a space of 2 baud-times before start of transmission"]
397 #[inline(always)]
398 pub fn two(self) -> &'a mut W {
399 self.variant(ICS_A::TWO)
400 }
401 #[doc = "Create a space of 3 baud-times before start of transmission"]
402 #[inline(always)]
403 pub fn three(self) -> &'a mut W {
404 self.variant(ICS_A::THREE)
405 }
406 #[doc = "Create a space of 7 baud-times before start of transmission"]
407 #[inline(always)]
408 pub fn seven(self) -> &'a mut W {
409 self.variant(ICS_A::SEVEN)
410 }
411 #[doc = "Create a space of before the start of transmission for TCMPVAL0 baud-times"]
412 #[inline(always)]
413 pub fn tcmp0(self) -> &'a mut W {
414 self.variant(ICS_A::TCMP0)
415 }
416 #[doc = "Create a space of before the start of transmission for TCMPVAL1 baud-times"]
417 #[inline(always)]
418 pub fn tcmp1(self) -> &'a mut W {
419 self.variant(ICS_A::TCMP1)
420 }
421 #[doc = "Create a space of before the start of transmission for TCMPVAL2 baud-times"]
422 #[inline(always)]
423 pub fn tcmp2(self) -> &'a mut W {
424 self.variant(ICS_A::TCMP2)
425 }
426}
427#[doc = "Chip Select Hold\n\nValue on reset: 0"]
428#[derive(Clone, Copy, Debug, PartialEq)]
429#[repr(u8)]
430pub enum CSHOLD_A {
431 #[doc = "0: Disable CS being asserted after the end of transmission"]
432 ZERO = 0,
433 #[doc = "1: CS is asserted for 1 baud-times after the end of transmission"]
434 ONE = 1,
435 #[doc = "2: CS is asserted for 2 baud-times after the end of transmission"]
436 TWO = 2,
437 #[doc = "3: CS is asserted for 3 baud-times after the end of transmission"]
438 THREE = 3,
439 #[doc = "4: CS is asserted for 7 baud-times after the end of transmission"]
440 SEVEN = 4,
441 #[doc = "5: CS is asserted after the end of transmission for TCMPVAL0 baud-times"]
442 TCMP0 = 5,
443 #[doc = "6: CS is asserted after the end of transmission for TCMPVAL1 baud-times"]
444 TCMP1 = 6,
445 #[doc = "7: CS is asserted after the end of transmission for TCMPVAL2 baud-times"]
446 TCMP2 = 7,
447}
448impl From<CSHOLD_A> for u8 {
449 #[inline(always)]
450 fn from(variant: CSHOLD_A) -> Self {
451 variant as _
452 }
453}
454#[doc = "Field `CSHOLD` reader - Chip Select Hold"]
455pub type CSHOLD_R = crate::FieldReader<u8, CSHOLD_A>;
456impl CSHOLD_R {
457 #[doc = "Get enumerated values variant"]
458 #[inline(always)]
459 pub fn variant(&self) -> CSHOLD_A {
460 match self.bits {
461 0 => CSHOLD_A::ZERO,
462 1 => CSHOLD_A::ONE,
463 2 => CSHOLD_A::TWO,
464 3 => CSHOLD_A::THREE,
465 4 => CSHOLD_A::SEVEN,
466 5 => CSHOLD_A::TCMP0,
467 6 => CSHOLD_A::TCMP1,
468 7 => CSHOLD_A::TCMP2,
469 _ => unreachable!(),
470 }
471 }
472 #[doc = "Checks if the value of the field is `ZERO`"]
473 #[inline(always)]
474 pub fn is_zero(&self) -> bool {
475 *self == CSHOLD_A::ZERO
476 }
477 #[doc = "Checks if the value of the field is `ONE`"]
478 #[inline(always)]
479 pub fn is_one(&self) -> bool {
480 *self == CSHOLD_A::ONE
481 }
482 #[doc = "Checks if the value of the field is `TWO`"]
483 #[inline(always)]
484 pub fn is_two(&self) -> bool {
485 *self == CSHOLD_A::TWO
486 }
487 #[doc = "Checks if the value of the field is `THREE`"]
488 #[inline(always)]
489 pub fn is_three(&self) -> bool {
490 *self == CSHOLD_A::THREE
491 }
492 #[doc = "Checks if the value of the field is `SEVEN`"]
493 #[inline(always)]
494 pub fn is_seven(&self) -> bool {
495 *self == CSHOLD_A::SEVEN
496 }
497 #[doc = "Checks if the value of the field is `TCMP0`"]
498 #[inline(always)]
499 pub fn is_tcmp0(&self) -> bool {
500 *self == CSHOLD_A::TCMP0
501 }
502 #[doc = "Checks if the value of the field is `TCMP1`"]
503 #[inline(always)]
504 pub fn is_tcmp1(&self) -> bool {
505 *self == CSHOLD_A::TCMP1
506 }
507 #[doc = "Checks if the value of the field is `TCMP2`"]
508 #[inline(always)]
509 pub fn is_tcmp2(&self) -> bool {
510 *self == CSHOLD_A::TCMP2
511 }
512}
513#[doc = "Field `CSHOLD` writer - Chip Select Hold"]
514pub type CSHOLD_W<'a> = crate::FieldWriterSafe<'a, u32, TIMING_SPEC, u8, CSHOLD_A, 3, 28>;
515impl<'a> CSHOLD_W<'a> {
516 #[doc = "Disable CS being asserted after the end of transmission"]
517 #[inline(always)]
518 pub fn zero(self) -> &'a mut W {
519 self.variant(CSHOLD_A::ZERO)
520 }
521 #[doc = "CS is asserted for 1 baud-times after the end of transmission"]
522 #[inline(always)]
523 pub fn one(self) -> &'a mut W {
524 self.variant(CSHOLD_A::ONE)
525 }
526 #[doc = "CS is asserted for 2 baud-times after the end of transmission"]
527 #[inline(always)]
528 pub fn two(self) -> &'a mut W {
529 self.variant(CSHOLD_A::TWO)
530 }
531 #[doc = "CS is asserted for 3 baud-times after the end of transmission"]
532 #[inline(always)]
533 pub fn three(self) -> &'a mut W {
534 self.variant(CSHOLD_A::THREE)
535 }
536 #[doc = "CS is asserted for 7 baud-times after the end of transmission"]
537 #[inline(always)]
538 pub fn seven(self) -> &'a mut W {
539 self.variant(CSHOLD_A::SEVEN)
540 }
541 #[doc = "CS is asserted after the end of transmission for TCMPVAL0 baud-times"]
542 #[inline(always)]
543 pub fn tcmp0(self) -> &'a mut W {
544 self.variant(CSHOLD_A::TCMP0)
545 }
546 #[doc = "CS is asserted after the end of transmission for TCMPVAL1 baud-times"]
547 #[inline(always)]
548 pub fn tcmp1(self) -> &'a mut W {
549 self.variant(CSHOLD_A::TCMP1)
550 }
551 #[doc = "CS is asserted after the end of transmission for TCMPVAL2 baud-times"]
552 #[inline(always)]
553 pub fn tcmp2(self) -> &'a mut W {
554 self.variant(CSHOLD_A::TCMP2)
555 }
556}
557impl R {
558 #[doc = "Bits 16:18 - TX Frame Start Delay"]
559 #[inline(always)]
560 pub fn txdelay(&self) -> TXDELAY_R {
561 TXDELAY_R::new(((self.bits >> 16) & 7) as u8)
562 }
563 #[doc = "Bits 20:22 - Chip Select Setup"]
564 #[inline(always)]
565 pub fn cssetup(&self) -> CSSETUP_R {
566 CSSETUP_R::new(((self.bits >> 20) & 7) as u8)
567 }
568 #[doc = "Bits 24:26 - Inter-character Spacing"]
569 #[inline(always)]
570 pub fn ics(&self) -> ICS_R {
571 ICS_R::new(((self.bits >> 24) & 7) as u8)
572 }
573 #[doc = "Bits 28:30 - Chip Select Hold"]
574 #[inline(always)]
575 pub fn cshold(&self) -> CSHOLD_R {
576 CSHOLD_R::new(((self.bits >> 28) & 7) as u8)
577 }
578}
579impl W {
580 #[doc = "Bits 16:18 - TX Frame Start Delay"]
581 #[inline(always)]
582 pub fn txdelay(&mut self) -> TXDELAY_W {
583 TXDELAY_W::new(self)
584 }
585 #[doc = "Bits 20:22 - Chip Select Setup"]
586 #[inline(always)]
587 pub fn cssetup(&mut self) -> CSSETUP_W {
588 CSSETUP_W::new(self)
589 }
590 #[doc = "Bits 24:26 - Inter-character Spacing"]
591 #[inline(always)]
592 pub fn ics(&mut self) -> ICS_W {
593 ICS_W::new(self)
594 }
595 #[doc = "Bits 28:30 - Chip Select Hold"]
596 #[inline(always)]
597 pub fn cshold(&mut self) -> CSHOLD_W {
598 CSHOLD_W::new(self)
599 }
600 #[doc = "Writes raw bits to the register."]
601 #[inline(always)]
602 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
603 self.0.bits(bits);
604 self
605 }
606}
607#[doc = "Timing 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 [timing](index.html) module"]
608pub struct TIMING_SPEC;
609impl crate::RegisterSpec for TIMING_SPEC {
610 type Ux = u32;
611}
612#[doc = "`read()` method returns [timing::R](R) reader structure"]
613impl crate::Readable for TIMING_SPEC {
614 type Reader = R;
615}
616#[doc = "`write(|w| ..)` method takes [timing::W](W) writer structure"]
617impl crate::Writable for TIMING_SPEC {
618 type Writer = W;
619}
620#[doc = "`reset()` method sets TIMING to value 0"]
621impl crate::Resettable for TIMING_SPEC {
622 #[inline(always)]
623 fn reset_value() -> Self::Ux {
624 0
625 }
626}