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;