1#[doc = r" Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - GPIO port mode register"]
5 pub moder: MODER,
6 #[doc = "0x04 - GPIO port output type register"]
7 pub otyper: OTYPER,
8 #[doc = "0x08 - GPIO port output speed register"]
9 pub ospeedr: OSPEEDR,
10 #[doc = "0x0c - GPIO port pull-up/pull-down register"]
11 pub pupdr: PUPDR,
12 #[doc = "0x10 - GPIO port input data register"]
13 pub idr: IDR,
14 #[doc = "0x14 - GPIO port output data register"]
15 pub odr: ODR,
16 #[doc = "0x18 - GPIO port bit set/reset register"]
17 pub bsrr: BSRR,
18 #[doc = "0x1c - GPIO port configuration lock register"]
19 pub lckr: LCKR,
20 #[doc = "0x20 - GPIO alternate function low register"]
21 pub afrl: AFRL,
22 #[doc = "0x24 - GPIO alternate function high register"]
23 pub afrh: AFRH,
24}
25#[doc = "GPIO port mode register"]
26pub struct MODER {
27 register: ::vcell::VolatileCell<u32>,
28}
29#[doc = "GPIO port mode register"]
30pub mod moder;
31#[doc = "GPIO port output type register"]
32pub struct OTYPER {
33 register: ::vcell::VolatileCell<u32>,
34}
35#[doc = "GPIO port output type register"]
36pub mod otyper;
37#[doc = "GPIO port output speed register"]
38pub struct OSPEEDR {
39 register: ::vcell::VolatileCell<u32>,
40}
41#[doc = "GPIO port output speed register"]
42pub mod ospeedr;
43#[doc = "GPIO port pull-up/pull-down register"]
44pub struct PUPDR {
45 register: ::vcell::VolatileCell<u32>,
46}
47#[doc = "GPIO port pull-up/pull-down register"]
48pub mod pupdr;
49#[doc = "GPIO port input data register"]
50pub struct IDR {
51 register: ::vcell::VolatileCell<u32>,
52}
53#[doc = "GPIO port input data register"]
54pub mod idr;
55#[doc = "GPIO port output data register"]
56pub struct ODR {
57 register: ::vcell::VolatileCell<u32>,
58}
59#[doc = "GPIO port output data register"]
60pub mod odr;
61#[doc = "GPIO port bit set/reset register"]
62pub struct BSRR {
63 register: ::vcell::VolatileCell<u32>,
64}
65#[doc = "GPIO port bit set/reset register"]
66pub mod bsrr;
67#[doc = "GPIO port configuration lock register"]
68pub struct LCKR {
69 register: ::vcell::VolatileCell<u32>,
70}
71#[doc = "GPIO port configuration lock register"]
72pub mod lckr;
73#[doc = "GPIO alternate function low register"]
74pub struct AFRL {
75 register: ::vcell::VolatileCell<u32>,
76}
77#[doc = "GPIO alternate function low register"]
78pub mod afrl;
79#[doc = "GPIO alternate function high register"]
80pub struct AFRH {
81 register: ::vcell::VolatileCell<u32>,
82}
83#[doc = "GPIO alternate function high register"]
84pub mod afrh;