stm32f0/stm32f0x1/
crc.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    _reserved_0_dr: [u8; 0x04],
5    #[doc = "0x04 - Independent data register"]
6    pub idr: crate::Reg<idr::IDR_SPEC>,
7    #[doc = "0x08 - Control register"]
8    pub cr: crate::Reg<cr::CR_SPEC>,
9    _reserved3: [u8; 0x04],
10    #[doc = "0x10 - Initial CRC value"]
11    pub init: crate::Reg<init::INIT_SPEC>,
12    #[doc = "0x14 - CRC polynomial"]
13    pub pol: crate::Reg<pol::POL_SPEC>,
14}
15impl RegisterBlock {
16    #[doc = "0x00 - Data register - half-word sized"]
17    #[inline(always)]
18    pub fn dr16(&self) -> &crate::Reg<dr16::DR16_SPEC> {
19        unsafe {
20            &*(((self as *const Self) as *const u8).add(0usize)
21                as *const crate::Reg<dr16::DR16_SPEC>)
22        }
23    }
24    #[doc = "0x00 - Data register - byte sized"]
25    #[inline(always)]
26    pub fn dr8(&self) -> &crate::Reg<dr8::DR8_SPEC> {
27        unsafe {
28            &*(((self as *const Self) as *const u8).add(0usize) as *const crate::Reg<dr8::DR8_SPEC>)
29        }
30    }
31    #[doc = "0x00 - Data register"]
32    #[inline(always)]
33    pub fn dr(&self) -> &crate::Reg<dr::DR_SPEC> {
34        unsafe {
35            &*(((self as *const Self) as *const u8).add(0usize) as *const crate::Reg<dr::DR_SPEC>)
36        }
37    }
38}
39#[doc = "DR register accessor: an alias for `Reg<DR_SPEC>`"]
40pub type DR = crate::Reg<dr::DR_SPEC>;
41#[doc = "Data register"]
42pub mod dr;
43#[doc = "IDR register accessor: an alias for `Reg<IDR_SPEC>`"]
44pub type IDR = crate::Reg<idr::IDR_SPEC>;
45#[doc = "Independent data register"]
46pub mod idr;
47#[doc = "CR register accessor: an alias for `Reg<CR_SPEC>`"]
48pub type CR = crate::Reg<cr::CR_SPEC>;
49#[doc = "Control register"]
50pub mod cr;
51#[doc = "INIT register accessor: an alias for `Reg<INIT_SPEC>`"]
52pub type INIT = crate::Reg<init::INIT_SPEC>;
53#[doc = "Initial CRC value"]
54pub mod init;
55#[doc = "POL register accessor: an alias for `Reg<POL_SPEC>`"]
56pub type POL = crate::Reg<pol::POL_SPEC>;
57#[doc = "CRC polynomial"]
58pub mod pol;
59#[doc = "DR8 register accessor: an alias for `Reg<DR8_SPEC>`"]
60pub type DR8 = crate::Reg<dr8::DR8_SPEC>;
61#[doc = "Data register - byte sized"]
62pub mod dr8;
63#[doc = "DR16 register accessor: an alias for `Reg<DR16_SPEC>`"]
64pub type DR16 = crate::Reg<dr16::DR16_SPEC>;
65#[doc = "Data register - half-word sized"]
66pub mod dr16;