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 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
#[doc = r" Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - ADC interrupt and status register"] pub isr: ISR, #[doc = "0x04 - ADC interrupt enable register"] pub ier: IER, #[doc = "0x08 - ADC control register"] pub cr: CR, #[doc = "0x0c - ADC configuration register 1"] pub cfgr1: CFGR1, #[doc = "0x10 - ADC configuration register 2"] pub cfgr2: CFGR2, #[doc = "0x14 - ADC sampling time register"] pub smpr: SMPR, _reserved0: [u8; 8usize], #[doc = "0x20 - watchdog threshold register"] pub awd1tr: AWD1TR, #[doc = "0x24 - watchdog threshold register"] pub awd2tr: AWD2TR, #[doc = "0x28 - channel selection register"] pub chselr: CHSELR, #[doc = "0x2c - watchdog threshold register"] pub awd3tr: AWD3TR, _reserved1: [u8; 16usize], #[doc = "0x40 - ADC group regular conversion data register"] pub dr: DR, _reserved2: [u8; 92usize], #[doc = "0xa0 - ADC analog watchdog 2 configuration register"] pub awd2cr: AWD2CR, #[doc = "0xa4 - ADC analog watchdog 3 configuration register"] pub awd3cr: AWD3CR, _reserved3: [u8; 12usize], #[doc = "0xb4 - ADC calibration factors register"] pub calfact: CALFACT, _reserved4: [u8; 592usize], #[doc = "0x308 - ADC common control register"] pub ccr: CCR, _reserved5: [u8; 204usize], #[doc = "0x3d8 - Hardware Configuration Register"] pub hwcfgr6: HWCFGR6, #[doc = "0x3dc - Hardware Configuration Register"] pub hwcfgr5: HWCFGR5, #[doc = "0x3e0 - Hardware Configuration Register"] pub hwcfgr4: HWCFGR4, #[doc = "0x3e4 - Hardware Configuration Register"] pub hwcfgr3: HWCFGR3, #[doc = "0x3e8 - Hardware Configuration Register"] pub hwcfgr2: HWCFGR2, #[doc = "0x3ec - Hardware Configuration Register"] pub hwcfgr1: HWCFGR1, #[doc = "0x3f0 - Hardware Configuration Register"] pub hwcfgr0: HWCFGR0, #[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 = "ADC interrupt and status register"] pub struct ISR { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC interrupt and status register"] pub mod isr; #[doc = "ADC interrupt enable register"] pub struct IER { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC interrupt enable register"] pub mod ier; #[doc = "ADC control register"] pub struct CR { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC control register"] pub mod cr; #[doc = "ADC configuration register 1"] pub struct CFGR1 { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC configuration register 1"] pub mod cfgr1; #[doc = "ADC configuration register 2"] pub struct CFGR2 { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC configuration register 2"] pub mod cfgr2; #[doc = "ADC sampling time register"] pub struct SMPR { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC sampling time register"] pub mod smpr; #[doc = "watchdog threshold register"] pub struct AWD1TR { register: ::vcell::VolatileCell<u32>, } #[doc = "watchdog threshold register"] pub mod awd1tr; #[doc = "watchdog threshold register"] pub struct AWD2TR { register: ::vcell::VolatileCell<u32>, } #[doc = "watchdog threshold register"] pub mod awd2tr; #[doc = "channel selection register"] pub struct CHSELR { register: ::vcell::VolatileCell<u32>, } #[doc = "channel selection register"] pub mod chselr; #[doc = "channel selection register CHSELRMOD = 1 in ADC_CFGR1"] pub struct CHSELR_1 { register: ::vcell::VolatileCell<u32>, } #[doc = "channel selection register CHSELRMOD = 1 in ADC_CFGR1"] pub mod chselr_1; #[doc = "watchdog threshold register"] pub struct AWD3TR { register: ::vcell::VolatileCell<u32>, } #[doc = "watchdog threshold register"] pub mod awd3tr; #[doc = "ADC group regular conversion data register"] pub struct DR { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC group regular conversion data register"] pub mod dr; #[doc = "ADC analog watchdog 2 configuration register"] pub struct AWD2CR { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC analog watchdog 2 configuration register"] pub mod awd2cr; #[doc = "ADC analog watchdog 3 configuration register"] pub struct AWD3CR { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC analog watchdog 3 configuration register"] pub mod awd3cr; #[doc = "ADC calibration factors register"] pub struct CALFACT { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC calibration factors register"] pub mod calfact; #[doc = "ADC common control register"] pub struct CCR { register: ::vcell::VolatileCell<u32>, } #[doc = "ADC common control register"] pub mod ccr; #[doc = "Hardware Configuration Register"] pub struct HWCFGR6 { register: ::vcell::VolatileCell<u32>, } #[doc = "Hardware Configuration Register"] pub mod hwcfgr6; #[doc = "Hardware Configuration Register"] pub struct HWCFGR5 { register: ::vcell::VolatileCell<u32>, } #[doc = "Hardware Configuration Register"] pub mod hwcfgr5; #[doc = "Hardware Configuration Register"] pub struct HWCFGR4 { register: ::vcell::VolatileCell<u32>, } #[doc = "Hardware Configuration Register"] pub mod hwcfgr4; #[doc = "Hardware Configuration Register"] pub struct HWCFGR3 { register: ::vcell::VolatileCell<u32>, } #[doc = "Hardware Configuration Register"] pub mod hwcfgr3; #[doc = "Hardware Configuration Register"] pub struct HWCFGR2 { register: ::vcell::VolatileCell<u32>, } #[doc = "Hardware Configuration Register"] pub mod hwcfgr2; #[doc = "Hardware Configuration Register"] pub struct HWCFGR1 { register: ::vcell::VolatileCell<u32>, } #[doc = "Hardware Configuration Register"] pub mod hwcfgr1; #[doc = "Hardware Configuration Register"] pub struct HWCFGR0 { register: ::vcell::VolatileCell<u32>, } #[doc = "Hardware Configuration Register"] pub mod hwcfgr0; #[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;