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
#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - control register 1"] pub cr1: CR1, #[doc = "0x04 - control register 2"] pub cr2: CR2, #[doc = "0x08 - configuration register 1"] pub cfg1: CFG1, #[doc = "0x0c - configuration register 2"] pub cfg2: CFG2, #[doc = "0x10 - Interrupt Enable Register"] pub ier: IER, #[doc = "0x14 - Status Register"] pub sr: SR, #[doc = "0x18 - Interrupt/Status Flags Clear Register"] pub ifcr: IFCR, _reserved7: [u8; 4usize], #[doc = "0x20 - Transmit Data Register"] pub txdr: TXDR, _reserved8: [u8; 12usize], #[doc = "0x30 - Receive Data Register"] pub rxdr: RXDR, _reserved9: [u8; 12usize], #[doc = "0x40 - Polynomial Register"] pub crcpoly: CRCPOLY, #[doc = "0x44 - Transmitter CRC Register"] pub txcrc: TXCRC, #[doc = "0x48 - Receiver CRC Register"] pub rxcrc: RXCRC, #[doc = "0x4c - Underrun Data Register"] pub udrdr: UDRDR, #[doc = "0x50 - configuration register"] pub i2scfgr: I2SCFGR, } #[doc = "control register 1"] pub struct CR1 { register: vcell::VolatileCell<u32>, } #[doc = "control register 1"] pub mod cr1; #[doc = "control register 2"] pub struct CR2 { register: vcell::VolatileCell<u32>, } #[doc = "control register 2"] pub mod cr2; #[doc = "configuration register 1"] pub struct CFG1 { register: vcell::VolatileCell<u32>, } #[doc = "configuration register 1"] pub mod cfg1; #[doc = "configuration register 2"] pub struct CFG2 { register: vcell::VolatileCell<u32>, } #[doc = "configuration register 2"] pub mod cfg2; #[doc = "Interrupt Enable Register"] pub struct IER { register: vcell::VolatileCell<u32>, } #[doc = "Interrupt Enable Register"] pub mod ier; #[doc = "Status Register"] pub struct SR { register: vcell::VolatileCell<u32>, } #[doc = "Status Register"] pub mod sr; #[doc = "Interrupt/Status Flags Clear Register"] pub struct IFCR { register: vcell::VolatileCell<u32>, } #[doc = "Interrupt/Status Flags Clear Register"] pub mod ifcr; #[doc = "Transmit Data Register"] pub struct TXDR { register: vcell::VolatileCell<u32>, } #[doc = "Transmit Data Register"] pub mod txdr; #[doc = "Receive Data Register"] pub struct RXDR { register: vcell::VolatileCell<u32>, } #[doc = "Receive Data Register"] pub mod rxdr; #[doc = "Polynomial Register"] pub struct CRCPOLY { register: vcell::VolatileCell<u32>, } #[doc = "Polynomial Register"] pub mod crcpoly; #[doc = "Transmitter CRC Register"] pub struct TXCRC { register: vcell::VolatileCell<u32>, } #[doc = "Transmitter CRC Register"] pub mod txcrc; #[doc = "Receiver CRC Register"] pub struct RXCRC { register: vcell::VolatileCell<u32>, } #[doc = "Receiver CRC Register"] pub mod rxcrc; #[doc = "Underrun Data Register"] pub struct UDRDR { register: vcell::VolatileCell<u32>, } #[doc = "Underrun Data Register"] pub mod udrdr; #[doc = "configuration register"] pub struct I2SCFGR { register: vcell::VolatileCell<u32>, } #[doc = "configuration register"] pub mod i2scfgr;