mk66f18/osc/
div.rs

1#[doc = "Reader of register DIV"]
2pub type R = crate::R<u8, super::DIV>;
3#[doc = "Writer for register DIV"]
4pub type W = crate::W<u8, super::DIV>;
5#[doc = "Register DIV `reset()`'s with value 0"]
6impl crate::ResetValue for super::DIV {
7    type Type = u8;
8    #[inline(always)]
9    fn reset_value() -> Self::Type {
10        0
11    }
12}
13#[doc = "ERCLK prescaler\n\nValue on reset: 0"]
14#[derive(Clone, Copy, Debug, PartialEq)]
15pub enum ERPS_A {
16    #[doc = "0: The divisor ratio is 1."]
17    _00,
18    #[doc = "1: The divisor ratio is 2."]
19    _01,
20    #[doc = "2: The divisor ratio is 4."]
21    _10,
22    #[doc = "3: The divisor ratio is 8."]
23    _11,
24}
25impl From<ERPS_A> for u8 {
26    #[inline(always)]
27    fn from(variant: ERPS_A) -> Self {
28        match variant {
29            ERPS_A::_00 => 0,
30            ERPS_A::_01 => 1,
31            ERPS_A::_10 => 2,
32            ERPS_A::_11 => 3,
33        }
34    }
35}
36#[doc = "Reader of field `ERPS`"]
37pub type ERPS_R = crate::R<u8, ERPS_A>;
38impl ERPS_R {
39    #[doc = r"Get enumerated values variant"]
40    #[inline(always)]
41    pub fn variant(&self) -> ERPS_A {
42        match self.bits {
43            0 => ERPS_A::_00,
44            1 => ERPS_A::_01,
45            2 => ERPS_A::_10,
46            3 => ERPS_A::_11,
47            _ => unreachable!(),
48        }
49    }
50    #[doc = "Checks if the value of the field is `_00`"]
51    #[inline(always)]
52    pub fn is_00(&self) -> bool {
53        *self == ERPS_A::_00
54    }
55    #[doc = "Checks if the value of the field is `_01`"]
56    #[inline(always)]
57    pub fn is_01(&self) -> bool {
58        *self == ERPS_A::_01
59    }
60    #[doc = "Checks if the value of the field is `_10`"]
61    #[inline(always)]
62    pub fn is_10(&self) -> bool {
63        *self == ERPS_A::_10
64    }
65    #[doc = "Checks if the value of the field is `_11`"]
66    #[inline(always)]
67    pub fn is_11(&self) -> bool {
68        *self == ERPS_A::_11
69    }
70}
71#[doc = "Write proxy for field `ERPS`"]
72pub struct ERPS_W<'a> {
73    w: &'a mut W,
74}
75impl<'a> ERPS_W<'a> {
76    #[doc = r"Writes `variant` to the field"]
77    #[inline(always)]
78    pub fn variant(self, variant: ERPS_A) -> &'a mut W {
79        {
80            self.bits(variant.into())
81        }
82    }
83    #[doc = "The divisor ratio is 1."]
84    #[inline(always)]
85    pub fn _00(self) -> &'a mut W {
86        self.variant(ERPS_A::_00)
87    }
88    #[doc = "The divisor ratio is 2."]
89    #[inline(always)]
90    pub fn _01(self) -> &'a mut W {
91        self.variant(ERPS_A::_01)
92    }
93    #[doc = "The divisor ratio is 4."]
94    #[inline(always)]
95    pub fn _10(self) -> &'a mut W {
96        self.variant(ERPS_A::_10)
97    }
98    #[doc = "The divisor ratio is 8."]
99    #[inline(always)]
100    pub fn _11(self) -> &'a mut W {
101        self.variant(ERPS_A::_11)
102    }
103    #[doc = r"Writes raw bits to the field"]
104    #[inline(always)]
105    pub fn bits(self, value: u8) -> &'a mut W {
106        self.w.bits = (self.w.bits & !(0x03 << 6)) | (((value as u8) & 0x03) << 6);
107        self.w
108    }
109}
110impl R {
111    #[doc = "Bits 6:7 - ERCLK prescaler"]
112    #[inline(always)]
113    pub fn erps(&self) -> ERPS_R {
114        ERPS_R::new(((self.bits >> 6) & 0x03) as u8)
115    }
116}
117impl W {
118    #[doc = "Bits 6:7 - ERCLK prescaler"]
119    #[inline(always)]
120    pub fn erps(&mut self) -> ERPS_W {
121        ERPS_W { w: self }
122    }
123}