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
#[repr(C)]
#[derive(Debug)]
///Register block
pub struct RegisterBlock {
cr1: CR1,
cr2: CR2,
oar1: OAR1,
oar2: OAR2,
dr: DR,
sr1: SR1,
sr2: SR2,
ccr: CCR,
trise: TRISE,
}
impl RegisterBlock {
///0x00 - Control register 1
#[inline(always)]
pub const fn cr1(&self) -> &CR1 {
&self.cr1
}
///0x04 - Control register 2
#[inline(always)]
pub const fn cr2(&self) -> &CR2 {
&self.cr2
}
///0x08 - Own address register 1
#[inline(always)]
pub const fn oar1(&self) -> &OAR1 {
&self.oar1
}
///0x0c - Own address register 2
#[inline(always)]
pub const fn oar2(&self) -> &OAR2 {
&self.oar2
}
///0x10 - Data register
#[inline(always)]
pub const fn dr(&self) -> &DR {
&self.dr
}
///0x14 - Status register 1
#[inline(always)]
pub const fn sr1(&self) -> &SR1 {
&self.sr1
}
///0x18 - Status register 2
#[inline(always)]
pub const fn sr2(&self) -> &SR2 {
&self.sr2
}
///0x1c - Clock control register
#[inline(always)]
pub const fn ccr(&self) -> &CCR {
&self.ccr
}
///0x20 - TRISE register
#[inline(always)]
pub const fn trise(&self) -> &TRISE {
&self.trise
}
}
/**CR1 (rw) register accessor: Control register 1
You can [`read`](crate::generic::Reg::read) this register and get [`cr1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@cr1`]
module*/
pub type CR1 = crate::Reg<cr1::CR1rs>;
///Control register 1
pub mod cr1;
/**CR2 (rw) register accessor: Control register 2
You can [`read`](crate::generic::Reg::read) this register and get [`cr2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cr2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@cr2`]
module*/
pub type CR2 = crate::Reg<cr2::CR2rs>;
///Control register 2
pub mod cr2;
/**OAR1 (rw) register accessor: Own address register 1
You can [`read`](crate::generic::Reg::read) this register and get [`oar1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`oar1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@oar1`]
module*/
pub type OAR1 = crate::Reg<oar1::OAR1rs>;
///Own address register 1
pub mod oar1;
/**OAR2 (rw) register accessor: Own address register 2
You can [`read`](crate::generic::Reg::read) this register and get [`oar2::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`oar2::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@oar2`]
module*/
pub type OAR2 = crate::Reg<oar2::OAR2rs>;
///Own address register 2
pub mod oar2;
/**DR (rw) register accessor: Data register
You can [`read`](crate::generic::Reg::read) this register and get [`dr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@dr`]
module*/
pub type DR = crate::Reg<dr::DRrs>;
///Data register
pub mod dr;
/**SR1 (rw) register accessor: Status register 1
You can [`read`](crate::generic::Reg::read) this register and get [`sr1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`sr1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@sr1`]
module*/
pub type SR1 = crate::Reg<sr1::SR1rs>;
///Status register 1
pub mod sr1;
/**SR2 (r) register accessor: Status register 2
You can [`read`](crate::generic::Reg::read) this register and get [`sr2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@sr2`]
module*/
pub type SR2 = crate::Reg<sr2::SR2rs>;
///Status register 2
pub mod sr2;
/**CCR (rw) register accessor: Clock control register
You can [`read`](crate::generic::Reg::read) this register and get [`ccr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ccr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@ccr`]
module*/
pub type CCR = crate::Reg<ccr::CCRrs>;
///Clock control register
pub mod ccr;
/**TRISE (rw) register accessor: TRISE register
You can [`read`](crate::generic::Reg::read) this register and get [`trise::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`trise::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
For information about available fields see [`mod@trise`]
module*/
pub type TRISE = crate::Reg<trise::TRISErs>;
///TRISE register
pub mod trise;