1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
#[doc = "Reader of register CFGR"] pub type R = crate::R<u32, super::CFGR>; #[doc = "Writer for register CFGR"] pub type W = crate::W<u32, super::CFGR>; #[doc = "Register CFGR `reset()`'s with value 0x05"] impl crate::ResetValue for super::CFGR { type Type = u32; #[inline(always)] fn reset_value() -> Self::Type { 0x05 } } #[doc = "Reader of field `MCOPRE`"] pub type MCOPRE_R = crate::R<u8, u8>; #[doc = "Write proxy for field `MCOPRE`"] pub struct MCOPRE_W<'a> { w: &'a mut W, } impl<'a> MCOPRE_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x07 << 28)) | (((value as u32) & 0x07) << 28); self.w } } #[doc = "Reader of field `MCOSEL`"] pub type MCOSEL_R = crate::R<u8, u8>; #[doc = "Write proxy for field `MCOSEL`"] pub struct MCOSEL_W<'a> { w: &'a mut W, } impl<'a> MCOSEL_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x0f << 24)) | (((value as u32) & 0x0f) << 24); self.w } } #[doc = "Reader of field `PPRE2`"] pub type PPRE2_R = crate::R<u8, u8>; #[doc = "Write proxy for field `PPRE2`"] pub struct PPRE2_W<'a> { w: &'a mut W, } impl<'a> PPRE2_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x07 << 11)) | (((value as u32) & 0x07) << 11); self.w } } #[doc = "Reader of field `PPRE1`"] pub type PPRE1_R = crate::R<u8, u8>; #[doc = "Write proxy for field `PPRE1`"] pub struct PPRE1_W<'a> { w: &'a mut W, } impl<'a> PPRE1_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x07 << 8)) | (((value as u32) & 0x07) << 8); self.w } } #[doc = "Reader of field `HPRE`"] pub type HPRE_R = crate::R<u8, u8>; #[doc = "Write proxy for field `HPRE`"] pub struct HPRE_W<'a> { w: &'a mut W, } impl<'a> HPRE_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !(0x0f << 4)) | (((value as u32) & 0x0f) << 4); self.w } } #[doc = "Reader of field `SWS`"] pub type SWS_R = crate::R<u8, u8>; #[doc = "Reader of field `SW`"] pub type SW_R = crate::R<u8, u8>; #[doc = "Write proxy for field `SW`"] pub struct SW_W<'a> { w: &'a mut W, } impl<'a> SW_W<'a> { #[doc = r"Writes raw bits to the field"] #[inline(always)] pub unsafe fn bits(self, value: u8) -> &'a mut W { self.w.bits = (self.w.bits & !0x03) | ((value as u32) & 0x03); self.w } } impl R { #[doc = "Bits 28:30 - Microcontroller clock output prescaler"] #[inline(always)] pub fn mcopre(&self) -> MCOPRE_R { MCOPRE_R::new(((self.bits >> 28) & 0x07) as u8) } #[doc = "Bits 24:27 - Microcontroller clock output"] #[inline(always)] pub fn mcosel(&self) -> MCOSEL_R { MCOSEL_R::new(((self.bits >> 24) & 0x0f) as u8) } #[doc = "Bits 11:13 - APB high-speed prescaler (APB2)"] #[inline(always)] pub fn ppre2(&self) -> PPRE2_R { PPRE2_R::new(((self.bits >> 11) & 0x07) as u8) } #[doc = "Bits 8:10 - PB low-speed prescaler (APB1)"] #[inline(always)] pub fn ppre1(&self) -> PPRE1_R { PPRE1_R::new(((self.bits >> 8) & 0x07) as u8) } #[doc = "Bits 4:7 - AHB prescaler"] #[inline(always)] pub fn hpre(&self) -> HPRE_R { HPRE_R::new(((self.bits >> 4) & 0x0f) as u8) } #[doc = "Bits 2:3 - System clock switch status"] #[inline(always)] pub fn sws(&self) -> SWS_R { SWS_R::new(((self.bits >> 2) & 0x03) as u8) } #[doc = "Bits 0:1 - System clock switch"] #[inline(always)] pub fn sw(&self) -> SW_R { SW_R::new((self.bits & 0x03) as u8) } } impl W { #[doc = "Bits 28:30 - Microcontroller clock output prescaler"] #[inline(always)] pub fn mcopre(&mut self) -> MCOPRE_W { MCOPRE_W { w: self } } #[doc = "Bits 24:27 - Microcontroller clock output"] #[inline(always)] pub fn mcosel(&mut self) -> MCOSEL_W { MCOSEL_W { w: self } } #[doc = "Bits 11:13 - APB high-speed prescaler (APB2)"] #[inline(always)] pub fn ppre2(&mut self) -> PPRE2_W { PPRE2_W { w: self } } #[doc = "Bits 8:10 - PB low-speed prescaler (APB1)"] #[inline(always)] pub fn ppre1(&mut self) -> PPRE1_W { PPRE1_W { w: self } } #[doc = "Bits 4:7 - AHB prescaler"] #[inline(always)] pub fn hpre(&mut self) -> HPRE_W { HPRE_W { w: self } } #[doc = "Bits 0:1 - System clock switch"] #[inline(always)] pub fn sw(&mut self) -> SW_W { SW_W { w: self } } }