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
217
218
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - EXTI rising trigger selection register"]
    pub rtsr1: RTSR1,
    #[doc = "0x04 - EXTI falling trigger selection register"]
    pub ftsr1: FTSR1,
    #[doc = "0x08 - EXTI software interrupt event register"]
    pub swier1: SWIER1,
    #[doc = "0x0c - EXTI D3 pending mask register"]
    pub d3pmr1: D3PMR1,
    #[doc = "0x10 - EXTI D3 pending clear selection register low"]
    pub d3pcr1l: D3PCR1L,
    #[doc = "0x14 - EXTI D3 pending clear selection register high"]
    pub d3pcr1h: D3PCR1H,
    _reserved6: [u8; 8usize],
    #[doc = "0x20 - EXTI rising trigger selection register"]
    pub rtsr2: RTSR2,
    #[doc = "0x24 - EXTI falling trigger selection register"]
    pub ftsr2: FTSR2,
    #[doc = "0x28 - EXTI software interrupt event register"]
    pub swier2: SWIER2,
    #[doc = "0x2c - EXTI D3 pending mask register"]
    pub d3pmr2: D3PMR2,
    #[doc = "0x30 - EXTI D3 pending clear selection register low"]
    pub d3pcr2l: D3PCR2L,
    #[doc = "0x34 - EXTI D3 pending clear selection register high"]
    pub d3pcr2h: D3PCR2H,
    _reserved12: [u8; 8usize],
    #[doc = "0x40 - EXTI rising trigger selection register"]
    pub rtsr3: RTSR3,
    #[doc = "0x44 - EXTI falling trigger selection register"]
    pub ftsr3: FTSR3,
    #[doc = "0x48 - EXTI software interrupt event register"]
    pub swier3: SWIER3,
    #[doc = "0x4c - EXTI D3 pending mask register"]
    pub d3pmr3: D3PMR3,
    _reserved16: [u8; 4usize],
    #[doc = "0x54 - EXTI D3 pending clear selection register high"]
    pub d3pcr3h: D3PCR3H,
    _reserved17: [u8; 40usize],
    #[doc = "0x80 - EXTI interrupt mask register"]
    pub cpuimr1: CPUIMR1,
    #[doc = "0x84 - EXTI event mask register"]
    pub cpuemr1: CPUEMR1,
    #[doc = "0x88 - EXTI pending register"]
    pub cpupr1: CPUPR1,
    _reserved20: [u8; 4usize],
    #[doc = "0x90 - EXTI interrupt mask register"]
    pub cpuimr2: CPUIMR2,
    #[doc = "0x94 - EXTI event mask register"]
    pub cpuemr2: CPUEMR2,
    #[doc = "0x98 - EXTI pending register"]
    pub cpupr2: CPUPR2,
    _reserved23: [u8; 4usize],
    #[doc = "0xa0 - EXTI interrupt mask register"]
    pub cpuimr3: CPUIMR3,
    #[doc = "0xa4 - EXTI event mask register"]
    pub cpuemr3: CPUEMR3,
    #[doc = "0xa8 - EXTI pending register"]
    pub cpupr3: CPUPR3,
}
#[doc = "EXTI rising trigger selection register"]
pub struct RTSR1 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI rising trigger selection register"]
pub mod rtsr1;
#[doc = "EXTI falling trigger selection register"]
pub struct FTSR1 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI falling trigger selection register"]
pub mod ftsr1;
#[doc = "EXTI software interrupt event register"]
pub struct SWIER1 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI software interrupt event register"]
pub mod swier1;
#[doc = "EXTI D3 pending mask register"]
pub struct D3PMR1 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending mask register"]
pub mod d3pmr1;
#[doc = "EXTI D3 pending clear selection register low"]
pub struct D3PCR1L {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending clear selection register low"]
pub mod d3pcr1l;
#[doc = "EXTI D3 pending clear selection register high"]
pub struct D3PCR1H {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending clear selection register high"]
pub mod d3pcr1h;
#[doc = "EXTI rising trigger selection register"]
pub struct RTSR2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI rising trigger selection register"]
pub mod rtsr2;
#[doc = "EXTI falling trigger selection register"]
pub struct FTSR2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI falling trigger selection register"]
pub mod ftsr2;
#[doc = "EXTI software interrupt event register"]
pub struct SWIER2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI software interrupt event register"]
pub mod swier2;
#[doc = "EXTI D3 pending mask register"]
pub struct D3PMR2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending mask register"]
pub mod d3pmr2;
#[doc = "EXTI D3 pending clear selection register low"]
pub struct D3PCR2L {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending clear selection register low"]
pub mod d3pcr2l;
#[doc = "EXTI D3 pending clear selection register high"]
pub struct D3PCR2H {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending clear selection register high"]
pub mod d3pcr2h;
#[doc = "EXTI rising trigger selection register"]
pub struct RTSR3 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI rising trigger selection register"]
pub mod rtsr3;
#[doc = "EXTI falling trigger selection register"]
pub struct FTSR3 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI falling trigger selection register"]
pub mod ftsr3;
#[doc = "EXTI software interrupt event register"]
pub struct SWIER3 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI software interrupt event register"]
pub mod swier3;
#[doc = "EXTI D3 pending mask register"]
pub struct D3PMR3 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending mask register"]
pub mod d3pmr3;
#[doc = "EXTI D3 pending clear selection register high"]
pub struct D3PCR3H {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI D3 pending clear selection register high"]
pub mod d3pcr3h;
#[doc = "EXTI interrupt mask register"]
pub struct CPUIMR1 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI interrupt mask register"]
pub mod cpuimr1;
#[doc = "EXTI event mask register"]
pub struct CPUEMR1 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI event mask register"]
pub mod cpuemr1;
#[doc = "EXTI pending register"]
pub struct CPUPR1 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI pending register"]
pub mod cpupr1;
#[doc = "EXTI interrupt mask register"]
pub struct CPUIMR2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI interrupt mask register"]
pub mod cpuimr2;
#[doc = "EXTI event mask register"]
pub struct CPUEMR2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI event mask register"]
pub mod cpuemr2;
#[doc = "EXTI pending register"]
pub struct CPUPR2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI pending register"]
pub mod cpupr2;
#[doc = "EXTI interrupt mask register"]
pub struct CPUIMR3 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI interrupt mask register"]
pub mod cpuimr3;
#[doc = "EXTI event mask register"]
pub struct CPUEMR3 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI event mask register"]
pub mod cpuemr3;
#[doc = "EXTI pending register"]
pub struct CPUPR3 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "EXTI pending register"]
pub mod cpupr3;