#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - The RTC_TR is the calendar time shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub tr: TR,
#[doc = "0x04 - The RTC_DR is the calendar date shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub dr: DR,
#[doc = "0x08 - RTC control register"]
pub cr: CR,
#[doc = "0x0c - This register is write protected (except for RTC_ISR\\[13:8\\] bits). The write access procedure is described in RTC register write protection on page9."]
pub isr: ISR,
#[doc = "0x10 - This register must be written in initialization mode only. The initialization must be performed in two separate write accesses. Refer to Calendar initialization and configuration on page9.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub prer: PRER,
#[doc = "0x14 - This register can be written only when WUTWF is set to 1 in RTC_ISR.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub wutr: WUTR,
_reserved6: [u8; 4usize],
#[doc = "0x1c - This register can be written only when ALRAWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub alrmar: ALRMAR,
#[doc = "0x20 - This register can be written only when ALRBWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub alrmbr: ALRMBR,
#[doc = "0x24 - RTC write protection register"]
pub wpr: WPR,
#[doc = "0x28 - RTC sub second register"]
pub ssr: SSR,
#[doc = "0x2c - This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub shiftr: SHIFTR,
#[doc = "0x30 - The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub tstr: TSTR,
#[doc = "0x34 - The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub tsdr: TSDR,
#[doc = "0x38 - The content of this register is valid only when RTC_ISR/TSF is set. It is cleared when the RTC_ISR/TSF bit is reset."]
pub tsssr: TSSSR,
#[doc = "0x3c - This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub calr: CALR,
#[doc = "0x40 - RTC tamper and alternate function configuration register"]
pub tampcr: TAMPCR,
#[doc = "0x44 - This register can be written only when ALRAE is reset in RTC_CR register, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9"]
pub alrmassr: ALRMASSR,
#[doc = "0x48 - This register can be written only when ALRBE is reset in RTC_CR register, or in initialization mode.This register is write protected.The write access procedure is described in Section: RTC register write protection."]
pub alrmbssr: ALRMBSSR,
#[doc = "0x4c - RTC option register"]
pub or: OR,
#[doc = "0x50 - RTC backup registers"]
pub bkp0r: BKP0R,
#[doc = "0x54 - RTC backup registers"]
pub bkp1r: BKP1R,
#[doc = "0x58 - RTC backup registers"]
pub bkp2r: BKP2R,
#[doc = "0x5c - RTC backup registers"]
pub bkp3r: BKP3R,
#[doc = "0x60 - RTC backup registers"]
pub bkp4r: BKP4R,
#[doc = "0x64 - RTC backup registers"]
pub bkp5r: BKP5R,
#[doc = "0x68 - RTC backup registers"]
pub bkp6r: BKP6R,
#[doc = "0x6c - RTC backup registers"]
pub bkp7r: BKP7R,
#[doc = "0x70 - RTC backup registers"]
pub bkp8r: BKP8R,
#[doc = "0x74 - RTC backup registers"]
pub bkp9r: BKP9R,
#[doc = "0x78 - RTC backup registers"]
pub bkp10r: BKP10R,
#[doc = "0x7c - RTC backup registers"]
pub bkp11r: BKP11R,
#[doc = "0x80 - RTC backup registers"]
pub bkp12r: BKP12R,
#[doc = "0x84 - RTC backup registers"]
pub bkp13r: BKP13R,
#[doc = "0x88 - RTC backup registers"]
pub bkp14r: BKP14R,
#[doc = "0x8c - RTC backup registers"]
pub bkp15r: BKP15R,
#[doc = "0x90 - RTC backup registers"]
pub bkp16r: BKP16R,
#[doc = "0x94 - RTC backup registers"]
pub bkp17r: BKP17R,
#[doc = "0x98 - RTC backup registers"]
pub bkp18r: BKP18R,
#[doc = "0x9c - RTC backup registers"]
pub bkp19r: BKP19R,
#[doc = "0xa0 - RTC backup registers"]
pub bkp20r: BKP20R,
#[doc = "0xa4 - RTC backup registers"]
pub bkp21r: BKP21R,
#[doc = "0xa8 - RTC backup registers"]
pub bkp22r: BKP22R,
#[doc = "0xac - RTC backup registers"]
pub bkp23r: BKP23R,
#[doc = "0xb0 - RTC backup registers"]
pub bkp24r: BKP24R,
#[doc = "0xb4 - RTC backup registers"]
pub bkp25r: BKP25R,
#[doc = "0xb8 - RTC backup registers"]
pub bkp26r: BKP26R,
#[doc = "0xbc - RTC backup registers"]
pub bkp27r: BKP27R,
#[doc = "0xc0 - RTC backup registers"]
pub bkp28r: BKP28R,
#[doc = "0xc4 - RTC backup registers"]
pub bkp29r: BKP29R,
#[doc = "0xc8 - RTC backup registers"]
pub bkp30r: BKP30R,
#[doc = "0xcc - RTC backup registers"]
pub bkp31r: BKP31R,
}
#[doc = "The RTC_TR is the calendar time shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct TR {
register: vcell::VolatileCell<u32>,
}
#[doc = "The RTC_TR is the calendar time shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod tr;
#[doc = "The RTC_DR is the calendar date shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct DR {
register: vcell::VolatileCell<u32>,
}
#[doc = "The RTC_DR is the calendar date shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod dr;
#[doc = "RTC control register"]
pub struct CR {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC control register"]
pub mod cr;
#[doc = "This register is write protected (except for RTC_ISR\\[13:8\\] bits). The write access procedure is described in RTC register write protection on page9."]
pub struct ISR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register is write protected (except for RTC_ISR\\[13:8\\] bits). The write access procedure is described in RTC register write protection on page9."]
pub mod isr;
#[doc = "This register must be written in initialization mode only. The initialization must be performed in two separate write accesses. Refer to Calendar initialization and configuration on page9.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct PRER {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register must be written in initialization mode only. The initialization must be performed in two separate write accesses. Refer to Calendar initialization and configuration on page9.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod prer;
#[doc = "This register can be written only when WUTWF is set to 1 in RTC_ISR.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct WUTR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when WUTWF is set to 1 in RTC_ISR.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod wutr;
#[doc = "This register can be written only when ALRAWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct ALRMAR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRAWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod alrmar;
#[doc = "This register can be written only when ALRBWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct ALRMBR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRBWF is set to 1 in RTC_ISR, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod alrmbr;
#[doc = "RTC write protection register"]
pub struct WPR {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC write protection register"]
pub mod wpr;
#[doc = "RTC sub second register"]
pub struct SSR {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC sub second register"]
pub mod ssr;
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct SHIFTR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod shiftr;
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub struct TSTR {
register: vcell::VolatileCell<u32>,
}
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub mod tstr;
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub struct TSDR {
register: vcell::VolatileCell<u32>,
}
#[doc = "The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset."]
pub mod tsdr;
#[doc = "The content of this register is valid only when RTC_ISR/TSF is set. It is cleared when the RTC_ISR/TSF bit is reset."]
pub struct TSSSR {
register: vcell::VolatileCell<u32>,
}
#[doc = "The content of this register is valid only when RTC_ISR/TSF is set. It is cleared when the RTC_ISR/TSF bit is reset."]
pub mod tsssr;
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub struct CALR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register is write protected. The write access procedure is described in RTC register write protection on page9."]
pub mod calr;
#[doc = "RTC tamper and alternate function configuration register"]
pub struct TAMPCR {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC tamper and alternate function configuration register"]
pub mod tampcr;
#[doc = "This register can be written only when ALRAE is reset in RTC_CR register, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9"]
pub struct ALRMASSR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRAE is reset in RTC_CR register, or in initialization mode.This register is write protected. The write access procedure is described in RTC register write protection on page9"]
pub mod alrmassr;
#[doc = "This register can be written only when ALRBE is reset in RTC_CR register, or in initialization mode.This register is write protected.The write access procedure is described in Section: RTC register write protection."]
pub struct ALRMBSSR {
register: vcell::VolatileCell<u32>,
}
#[doc = "This register can be written only when ALRBE is reset in RTC_CR register, or in initialization mode.This register is write protected.The write access procedure is described in Section: RTC register write protection."]
pub mod alrmbssr;
#[doc = "RTC backup registers"]
pub struct BKP0R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp0r;
#[doc = "RTC backup registers"]
pub struct BKP1R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp1r;
#[doc = "RTC backup registers"]
pub struct BKP2R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp2r;
#[doc = "RTC backup registers"]
pub struct BKP3R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp3r;
#[doc = "RTC backup registers"]
pub struct BKP4R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp4r;
#[doc = "RTC backup registers"]
pub struct BKP5R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp5r;
#[doc = "RTC backup registers"]
pub struct BKP6R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp6r;
#[doc = "RTC backup registers"]
pub struct BKP7R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp7r;
#[doc = "RTC backup registers"]
pub struct BKP8R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp8r;
#[doc = "RTC backup registers"]
pub struct BKP9R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp9r;
#[doc = "RTC backup registers"]
pub struct BKP10R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp10r;
#[doc = "RTC backup registers"]
pub struct BKP11R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp11r;
#[doc = "RTC backup registers"]
pub struct BKP12R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp12r;
#[doc = "RTC backup registers"]
pub struct BKP13R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp13r;
#[doc = "RTC backup registers"]
pub struct BKP14R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp14r;
#[doc = "RTC backup registers"]
pub struct BKP15R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp15r;
#[doc = "RTC option register"]
pub struct OR {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC option register"]
pub mod or;
#[doc = "RTC backup registers"]
pub struct BKP16R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp16r;
#[doc = "RTC backup registers"]
pub struct BKP17R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp17r;
#[doc = "RTC backup registers"]
pub struct BKP18R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp18r;
#[doc = "RTC backup registers"]
pub struct BKP19R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp19r;
#[doc = "RTC backup registers"]
pub struct BKP20R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp20r;
#[doc = "RTC backup registers"]
pub struct BKP21R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp21r;
#[doc = "RTC backup registers"]
pub struct BKP22R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp22r;
#[doc = "RTC backup registers"]
pub struct BKP23R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp23r;
#[doc = "RTC backup registers"]
pub struct BKP24R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp24r;
#[doc = "RTC backup registers"]
pub struct BKP25R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp25r;
#[doc = "RTC backup registers"]
pub struct BKP26R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp26r;
#[doc = "RTC backup registers"]
pub struct BKP27R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp27r;
#[doc = "RTC backup registers"]
pub struct BKP28R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp28r;
#[doc = "RTC backup registers"]
pub struct BKP29R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp29r;
#[doc = "RTC backup registers"]
pub struct BKP30R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp30r;
#[doc = "RTC backup registers"]
pub struct BKP31R {
register: vcell::VolatileCell<u32>,
}
#[doc = "RTC backup registers"]
pub mod bkp31r;