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 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
#[doc = r" Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - time register"] pub tr: TR, #[doc = "0x04 - date register"] pub dr: DR, #[doc = "0x08 - sub second register"] pub ssr: SSR, #[doc = "0x0c - initialization and status register"] pub icsr: ICSR, #[doc = "0x10 - prescaler register"] pub prer: PRER, #[doc = "0x14 - wakeup timer register"] pub wutr: WUTR, #[doc = "0x18 - control register"] pub cr: CR, _reserved0: [u8; 8usize], #[doc = "0x24 - write protection register"] pub wpr: WPR, #[doc = "0x28 - calibration register"] pub calr: CALR, #[doc = "0x2c - shift control register"] pub shiftr: SHIFTR, #[doc = "0x30 - time stamp time register"] pub tstr: TSTR, #[doc = "0x34 - time stamp date register"] pub tsdr: TSDR, #[doc = "0x38 - timestamp sub second register"] pub tsssr: TSSSR, _reserved1: [u8; 4usize], #[doc = "0x40 - alarm A register"] pub alrmar: ALRMAR, #[doc = "0x44 - alarm A sub second register"] pub alrmassr: ALRMASSR, #[doc = "0x48 - alarm B register"] pub alrmbr: ALRMBR, #[doc = "0x4c - alarm B sub second register"] pub alrmbssr: ALRMBSSR, #[doc = "0x50 - status register"] pub sr: SR, #[doc = "0x54 - masked interrupt status register"] pub misr: MISR, _reserved2: [u8; 4usize], #[doc = "0x5c - status clear register"] pub scr: SCR, _reserved3: [u8; 912usize], #[doc = "0x3f0 - hardware configuration register"] pub hwcfgr: HWCFGR, #[doc = "0x3f4 - EXTI IP Version register"] pub verr: VERR, #[doc = "0x3f8 - EXTI Identification register"] pub ipidr: IPIDR, #[doc = "0x3fc - EXTI Size ID register"] pub sidr: SIDR, } #[doc = "time register"] pub struct TR { register: ::vcell::VolatileCell<u32>, } #[doc = "time register"] pub mod tr; #[doc = "date register"] pub struct DR { register: ::vcell::VolatileCell<u32>, } #[doc = "date register"] pub mod dr; #[doc = "sub second register"] pub struct SSR { register: ::vcell::VolatileCell<u32>, } #[doc = "sub second register"] pub mod ssr; #[doc = "initialization and status register"] pub struct ICSR { register: ::vcell::VolatileCell<u32>, } #[doc = "initialization and status register"] pub mod icsr; #[doc = "prescaler register"] pub struct PRER { register: ::vcell::VolatileCell<u32>, } #[doc = "prescaler register"] pub mod prer; #[doc = "wakeup timer register"] pub struct WUTR { register: ::vcell::VolatileCell<u32>, } #[doc = "wakeup timer register"] pub mod wutr; #[doc = "control register"] pub struct CR { register: ::vcell::VolatileCell<u32>, } #[doc = "control register"] pub mod cr; #[doc = "write protection register"] pub struct WPR { register: ::vcell::VolatileCell<u32>, } #[doc = "write protection register"] pub mod wpr; #[doc = "calibration register"] pub struct CALR { register: ::vcell::VolatileCell<u32>, } #[doc = "calibration register"] pub mod calr; #[doc = "shift control register"] pub struct SHIFTR { register: ::vcell::VolatileCell<u32>, } #[doc = "shift control register"] pub mod shiftr; #[doc = "time stamp time register"] pub struct TSTR { register: ::vcell::VolatileCell<u32>, } #[doc = "time stamp time register"] pub mod tstr; #[doc = "time stamp date register"] pub struct TSDR { register: ::vcell::VolatileCell<u32>, } #[doc = "time stamp date register"] pub mod tsdr; #[doc = "timestamp sub second register"] pub struct TSSSR { register: ::vcell::VolatileCell<u32>, } #[doc = "timestamp sub second register"] pub mod tsssr; #[doc = "alarm A register"] pub struct ALRMAR { register: ::vcell::VolatileCell<u32>, } #[doc = "alarm A register"] pub mod alrmar; #[doc = "alarm A sub second register"] pub struct ALRMASSR { register: ::vcell::VolatileCell<u32>, } #[doc = "alarm A sub second register"] pub mod alrmassr; #[doc = "alarm B register"] pub struct ALRMBR { register: ::vcell::VolatileCell<u32>, } #[doc = "alarm B register"] pub mod alrmbr; #[doc = "alarm B sub second register"] pub struct ALRMBSSR { register: ::vcell::VolatileCell<u32>, } #[doc = "alarm B sub second register"] pub mod alrmbssr; #[doc = "status register"] pub struct SR { register: ::vcell::VolatileCell<u32>, } #[doc = "status register"] pub mod sr; #[doc = "masked interrupt status register"] pub struct MISR { register: ::vcell::VolatileCell<u32>, } #[doc = "masked interrupt status register"] pub mod misr; #[doc = "status clear register"] pub struct SCR { register: ::vcell::VolatileCell<u32>, } #[doc = "status clear register"] pub mod scr; #[doc = "hardware configuration register"] pub struct HWCFGR { register: ::vcell::VolatileCell<u32>, } #[doc = "hardware configuration register"] pub mod hwcfgr; #[doc = "EXTI IP Version register"] pub struct VERR { register: ::vcell::VolatileCell<u32>, } #[doc = "EXTI IP Version register"] pub mod verr; #[doc = "EXTI Identification register"] pub struct IPIDR { register: ::vcell::VolatileCell<u32>, } #[doc = "EXTI Identification register"] pub mod ipidr; #[doc = "EXTI Size ID register"] pub struct SIDR { register: ::vcell::VolatileCell<u32>, } #[doc = "EXTI Size ID register"] pub mod sidr;