stm32f7/stm32f779/i2c1.rs
1#[repr(C)]
2#[derive(Debug)]
3///Register block
4pub struct RegisterBlock {
5 cr1: CR1,
6 cr2: CR2,
7 oar1: OAR1,
8 oar2: OAR2,
9 timingr: TIMINGR,
10 timeoutr: TIMEOUTR,
11 isr: ISR,
12 icr: ICR,
13 pecr: PECR,
14 rxdr: RXDR,
15 txdr: TXDR,
16}
17impl RegisterBlock {
18 ///0x00 - Control register 1
19 #[inline(always)]
20 pub const fn cr1(&self) -> &CR1 {
21 &self.cr1
22 }
23 ///0x04 - Control register 2
24 #[inline(always)]
25 pub const fn cr2(&self) -> &CR2 {
26 &self.cr2
27 }
28 ///0x08 - Own address register 1
29 #[inline(always)]
30 pub const fn oar1(&self) -> &OAR1 {
31 &self.oar1
32 }
33 ///0x0c - Own address register 2
34 #[inline(always)]
35 pub const fn oar2(&self) -> &OAR2 {
36 &self.oar2
37 }
38 ///0x10 - Timing register
39 #[inline(always)]
40 pub const fn timingr(&self) -> &TIMINGR {
41 &self.timingr
42 }
43 ///0x14 - Status register 1
44 #[inline(always)]
45 pub const fn timeoutr(&self) -> &TIMEOUTR {
46 &self.timeoutr
47 }
48 ///0x18 - Interrupt and Status register
49 #[inline(always)]
50 pub const fn isr(&self) -> &ISR {
51 &self.isr
52 }
53 ///0x1c - Interrupt clear register
54 #[inline(always)]
55 pub const fn icr(&self) -> &ICR {
56 &self.icr
57 }
58 ///0x20 - PEC register
59 #[inline(always)]
60 pub const fn pecr(&self) -> &PECR {
61 &self.pecr
62 }
63 ///0x24 - Receive data register
64 #[inline(always)]
65 pub const fn rxdr(&self) -> &RXDR {
66 &self.rxdr
67 }
68 ///0x28 - Transmit data register
69 #[inline(always)]
70 pub const fn txdr(&self) -> &TXDR {
71 &self.txdr
72 }
73}
74/**CR1 (rw) register accessor: Control register 1
75
76You can [`read`](crate::Reg::read) this register and get [`cr1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr1::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/STM32F779.html#I2C1:CR1)
79
80For information about available fields see [`mod@cr1`] module*/
81pub type CR1 = crate::Reg<cr1::CR1rs>;
82///Control register 1
83pub mod cr1;
84/**CR2 (rw) register accessor: Control register 2
85
86You can [`read`](crate::Reg::read) this register and get [`cr2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
87
88See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:CR2)
89
90For information about available fields see [`mod@cr2`] module*/
91pub type CR2 = crate::Reg<cr2::CR2rs>;
92///Control register 2
93pub mod cr2;
94/**OAR1 (rw) register accessor: Own address register 1
95
96You can [`read`](crate::Reg::read) this register and get [`oar1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`oar1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
97
98See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:OAR1)
99
100For information about available fields see [`mod@oar1`] module*/
101pub type OAR1 = crate::Reg<oar1::OAR1rs>;
102///Own address register 1
103pub mod oar1;
104/**OAR2 (rw) register accessor: Own address register 2
105
106You can [`read`](crate::Reg::read) this register and get [`oar2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`oar2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
107
108See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:OAR2)
109
110For information about available fields see [`mod@oar2`] module*/
111pub type OAR2 = crate::Reg<oar2::OAR2rs>;
112///Own address register 2
113pub mod oar2;
114/**TIMINGR (rw) register accessor: Timing register
115
116You can [`read`](crate::Reg::read) this register and get [`timingr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timingr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
117
118See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:TIMINGR)
119
120For information about available fields see [`mod@timingr`] module*/
121pub type TIMINGR = crate::Reg<timingr::TIMINGRrs>;
122///Timing register
123pub mod timingr;
124/**TIMEOUTR (rw) register accessor: Status register 1
125
126You can [`read`](crate::Reg::read) this register and get [`timeoutr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timeoutr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
127
128See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:TIMEOUTR)
129
130For information about available fields see [`mod@timeoutr`] module*/
131pub type TIMEOUTR = crate::Reg<timeoutr::TIMEOUTRrs>;
132///Status register 1
133pub mod timeoutr;
134/**ISR (rw) register accessor: Interrupt and Status register
135
136You can [`read`](crate::Reg::read) this register and get [`isr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`isr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
137
138See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:ISR)
139
140For information about available fields see [`mod@isr`] module*/
141pub type ISR = crate::Reg<isr::ISRrs>;
142///Interrupt and Status register
143pub mod isr;
144/**ICR (w) register accessor: Interrupt clear register
145
146You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`icr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
147
148See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:ICR)
149
150For information about available fields see [`mod@icr`] module*/
151pub type ICR = crate::Reg<icr::ICRrs>;
152///Interrupt clear register
153pub mod icr;
154/**PECR (r) register accessor: PEC register
155
156You can [`read`](crate::Reg::read) this register and get [`pecr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
157
158See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:PECR)
159
160For information about available fields see [`mod@pecr`] module*/
161pub type PECR = crate::Reg<pecr::PECRrs>;
162///PEC register
163pub mod pecr;
164/**RXDR (r) register accessor: Receive data register
165
166You can [`read`](crate::Reg::read) this register and get [`rxdr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
167
168See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:RXDR)
169
170For information about available fields see [`mod@rxdr`] module*/
171pub type RXDR = crate::Reg<rxdr::RXDRrs>;
172///Receive data register
173pub mod rxdr;
174/**TXDR (rw) register accessor: Transmit data register
175
176You can [`read`](crate::Reg::read) this register and get [`txdr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`txdr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
177
178See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#I2C1:TXDR)
179
180For information about available fields see [`mod@txdr`] module*/
181pub type TXDR = crate::Reg<txdr::TXDRrs>;
182///Transmit data register
183pub mod txdr;