#[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,
_reserved0: [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,
_reserved1: [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,
_reserved2: [u8; 4usize],
#[doc = "0x54 - EXTI D3 pending clear selection register high"]
pub d3pcr3h: D3PCR3H,
_reserved3: [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,
_reserved4: [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,
_reserved5: [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;