stm32f3_staging/stm32f373/gpioa.rs
1#[repr(C)]
2#[derive(Debug)]
3///Register block
4pub struct RegisterBlock {
5 moder: MODER,
6 otyper: OTYPER,
7 ospeedr: OSPEEDR,
8 pupdr: PUPDR,
9 idr: IDR,
10 odr: ODR,
11 bsrr: BSRR,
12 lckr: LCKR,
13 afrl: AFRL,
14 afrh: AFRH,
15 brr: BRR,
16}
17impl RegisterBlock {
18 ///0x00 - GPIO port mode register
19 #[inline(always)]
20 pub const fn moder(&self) -> &MODER {
21 &self.moder
22 }
23 ///0x04 - GPIO port output type register
24 #[inline(always)]
25 pub const fn otyper(&self) -> &OTYPER {
26 &self.otyper
27 }
28 ///0x08 - GPIO port output speed register
29 #[inline(always)]
30 pub const fn ospeedr(&self) -> &OSPEEDR {
31 &self.ospeedr
32 }
33 ///0x0c - GPIO port pull-up/pull-down register
34 #[inline(always)]
35 pub const fn pupdr(&self) -> &PUPDR {
36 &self.pupdr
37 }
38 ///0x10 - GPIO port input data register
39 #[inline(always)]
40 pub const fn idr(&self) -> &IDR {
41 &self.idr
42 }
43 ///0x14 - GPIO port output data register
44 #[inline(always)]
45 pub const fn odr(&self) -> &ODR {
46 &self.odr
47 }
48 ///0x18 - GPIO port bit set/reset register
49 #[inline(always)]
50 pub const fn bsrr(&self) -> &BSRR {
51 &self.bsrr
52 }
53 ///0x1c - GPIO port configuration lock register
54 #[inline(always)]
55 pub const fn lckr(&self) -> &LCKR {
56 &self.lckr
57 }
58 ///0x20 - GPIO alternate function low register
59 #[inline(always)]
60 pub const fn afrl(&self) -> &AFRL {
61 &self.afrl
62 }
63 ///0x24 - GPIO alternate function high register
64 #[inline(always)]
65 pub const fn afrh(&self) -> &AFRH {
66 &self.afrh
67 }
68 ///0x28 - Port bit reset register
69 #[inline(always)]
70 pub const fn brr(&self) -> &BRR {
71 &self.brr
72 }
73}
74/**MODER (rw) register accessor: GPIO port mode register
75
76You can [`read`](crate::Reg::read) this register and get [`moder::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`moder::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
77
78See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:MODER)
79
80For information about available fields see [`mod@moder`]
81module*/
82pub type MODER = crate::Reg<moder::MODERrs>;
83///GPIO port mode register
84pub mod moder;
85/**OTYPER (rw) register accessor: GPIO port output type register
86
87You can [`read`](crate::Reg::read) this register and get [`otyper::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`otyper::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
88
89See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:OTYPER)
90
91For information about available fields see [`mod@otyper`]
92module*/
93pub type OTYPER = crate::Reg<otyper::OTYPERrs>;
94///GPIO port output type register
95pub mod otyper;
96/**OSPEEDR (rw) register accessor: GPIO port output speed register
97
98You can [`read`](crate::Reg::read) this register and get [`ospeedr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ospeedr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
99
100See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:OSPEEDR)
101
102For information about available fields see [`mod@ospeedr`]
103module*/
104pub type OSPEEDR = crate::Reg<ospeedr::OSPEEDRrs>;
105///GPIO port output speed register
106pub mod ospeedr;
107/**PUPDR (rw) register accessor: GPIO port pull-up/pull-down register
108
109You can [`read`](crate::Reg::read) this register and get [`pupdr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pupdr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
110
111See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:PUPDR)
112
113For information about available fields see [`mod@pupdr`]
114module*/
115pub type PUPDR = crate::Reg<pupdr::PUPDRrs>;
116///GPIO port pull-up/pull-down register
117pub mod pupdr;
118/**IDR (r) register accessor: GPIO port input data register
119
120You can [`read`](crate::Reg::read) this register and get [`idr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
121
122See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:IDR)
123
124For information about available fields see [`mod@idr`]
125module*/
126pub type IDR = crate::Reg<idr::IDRrs>;
127///GPIO port input data register
128pub mod idr;
129/**ODR (rw) register accessor: GPIO port output data register
130
131You can [`read`](crate::Reg::read) this register and get [`odr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`odr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
132
133See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:ODR)
134
135For information about available fields see [`mod@odr`]
136module*/
137pub type ODR = crate::Reg<odr::ODRrs>;
138///GPIO port output data register
139pub mod odr;
140/**BSRR (w) register accessor: GPIO port bit set/reset register
141
142You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bsrr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
143
144See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:BSRR)
145
146For information about available fields see [`mod@bsrr`]
147module*/
148pub type BSRR = crate::Reg<bsrr::BSRRrs>;
149///GPIO port bit set/reset register
150pub mod bsrr;
151/**LCKR (rw) register accessor: GPIO port configuration lock register
152
153You can [`read`](crate::Reg::read) this register and get [`lckr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lckr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
154
155See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:LCKR)
156
157For information about available fields see [`mod@lckr`]
158module*/
159pub type LCKR = crate::Reg<lckr::LCKRrs>;
160///GPIO port configuration lock register
161pub mod lckr;
162/**AFRL (rw) register accessor: GPIO alternate function low register
163
164You can [`read`](crate::Reg::read) this register and get [`afrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`afrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
165
166See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:AFRL)
167
168For information about available fields see [`mod@afrl`]
169module*/
170pub type AFRL = crate::Reg<afrl::AFRLrs>;
171///GPIO alternate function low register
172pub mod afrl;
173/**AFRH (rw) register accessor: GPIO alternate function high register
174
175You can [`read`](crate::Reg::read) this register and get [`afrh::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`afrh::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
176
177See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:AFRH)
178
179For information about available fields see [`mod@afrh`]
180module*/
181pub type AFRH = crate::Reg<afrh::AFRHrs>;
182///GPIO alternate function high register
183pub mod afrh;
184/**BRR (w) register accessor: Port bit reset register
185
186You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`brr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
187
188See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F373.html#GPIOA:BRR)
189
190For information about available fields see [`mod@brr`]
191module*/
192pub type BRR = crate::Reg<brr::BRRrs>;
193///Port bit reset register
194pub mod brr;