lpc11uxx 0.3.0

Register mappings for the NXP LPC11Uxx family of ARM Cortex-M0+ microcontrollers
Documentation
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - System memory remap"]
    pub sysmemremap: SYSMEMREMAP,
    #[doc = "0x04 - Peripheral reset control"]
    pub presetctrl: PRESETCTRL,
    #[doc = "0x08 - System PLL control"]
    pub syspllctrl: SYSPLLCTRL,
    #[doc = "0x0c - System PLL status"]
    pub syspllstat: SYSPLLSTAT,
    #[doc = "0x10 - USB PLL control"]
    pub usbpllctrl: USBPLLCTRL,
    #[doc = "0x14 - USB PLL status"]
    pub usbpllstat: USBPLLSTAT,
    _reserved0: [u8; 8usize],
    #[doc = "0x20 - System oscillator control"]
    pub sysoscctrl: SYSOSCCTRL,
    #[doc = "0x24 - Watchdog oscillator control"]
    pub wdtoscctrl: WDTOSCCTRL,
    _reserved1: [u8; 8usize],
    #[doc = "0x30 - System reset status register"]
    pub sysrststat: SYSRSTSTAT,
    _reserved2: [u8; 12usize],
    #[doc = "0x40 - System PLL clock source select"]
    pub syspllclksel: SYSPLLCLKSEL,
    #[doc = "0x44 - System PLL clock source update enable"]
    pub syspllclkuen: SYSPLLCLKUEN,
    #[doc = "0x48 - USB PLL clock source select"]
    pub usbpllclksel: USBPLLCLKSEL,
    #[doc = "0x4c - USB PLL clock source update enable"]
    pub usbpllclkuen: USBPLLCLKUEN,
    _reserved3: [u8; 32usize],
    #[doc = "0x70 - Main clock source select"]
    pub mainclksel: MAINCLKSEL,
    #[doc = "0x74 - Main clock source update enable"]
    pub mainclkuen: MAINCLKUEN,
    #[doc = "0x78 - System clock divider"]
    pub sysahbclkdiv: SYSAHBCLKDIV,
    _reserved4: [u8; 4usize],
    #[doc = "0x80 - System clock control"]
    pub sysahbclkctrl: SYSAHBCLKCTRL,
    _reserved5: [u8; 16usize],
    #[doc = "0x94 - SSP0 clock divider"]
    pub ssp0clkdiv: SSP0CLKDIV,
    #[doc = "0x98 - UART clock divider"]
    pub uartclkdiv: UARTCLKDIV,
    #[doc = "0x9c - SSP1 clock divider"]
    pub ssp1clkdiv: SSP1CLKDIV,
    _reserved6: [u8; 32usize],
    #[doc = "0xc0 - USB clock source select"]
    pub usbclksel: USBCLKSEL,
    #[doc = "0xc4 - USB clock source update enable"]
    pub usbclkuen: USBCLKUEN,
    #[doc = "0xc8 - USB clock source divider"]
    pub usbclkdiv: USBCLKDIV,
    _reserved7: [u8; 20usize],
    #[doc = "0xe0 - CLKOUT clock source select"]
    pub clkoutsel: CLKOUTSEL,
    #[doc = "0xe4 - CLKOUT clock source update enable"]
    pub clkoutuen: CLKOUTUEN,
    #[doc = "0xe8 - CLKOUT clock divider"]
    pub clkoutdiv: CLKOUTDIV,
    _reserved8: [u8; 20usize],
    #[doc = "0x100 - POR captured PIO status 0"]
    pub pioporcap0: PIOPORCAP0,
    #[doc = "0x104 - POR captured PIO status 1"]
    pub pioporcap1: PIOPORCAP1,
    _reserved9: [u8; 72usize],
    #[doc = "0x150 - Brown-Out Detect"]
    pub bodctrl: BODCTRL,
    #[doc = "0x154 - System tick counter calibration"]
    pub systckcal: SYSTCKCAL,
    _reserved10: [u8; 24usize],
    #[doc = "0x170 - IQR delay. Allows trade-off between interrupt latency and determinism."]
    pub irqlatency: IRQLATENCY,
    #[doc = "0x174 - NMI Source Control"]
    pub nmisrc: NMISRC,
    #[doc = "0x178 - GPIO Pin Interrupt Select register 0"]
    pub pintsel: [PINTSEL; 8],
    #[doc = "0x198 - USB clock control"]
    pub usbclkctrl: USBCLKCTRL,
    #[doc = "0x19c - USB clock status"]
    pub usbclkst: USBCLKST,
    _reserved11: [u8; 100usize],
    #[doc = "0x204 - Start logic 0 interrupt wake-up enable register 0"]
    pub starterp0: STARTERP0,
    _reserved12: [u8; 12usize],
    #[doc = "0x214 - Start logic 1 interrupt wake-up enable register 1"]
    pub starterp1: STARTERP1,
    _reserved13: [u8; 24usize],
    #[doc = "0x230 - Power-down states in deep-sleep mode"]
    pub pdsleepcfg: PDSLEEPCFG,
    #[doc = "0x234 - Power-down states for wake-up from deep-sleep"]
    pub pdawakecfg: PDAWAKECFG,
    #[doc = "0x238 - Power configuration register"]
    pub pdruncfg: PDRUNCFG,
    _reserved14: [u8; 440usize],
    #[doc = "0x3f4 - Device ID"]
    pub device_id: DEVICE_ID,
}
#[doc = "System memory remap"]
pub struct SYSMEMREMAP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System memory remap"]
pub mod sysmemremap;
#[doc = "Peripheral reset control"]
pub struct PRESETCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Peripheral reset control"]
pub mod presetctrl;
#[doc = "System PLL control"]
pub struct SYSPLLCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System PLL control"]
pub mod syspllctrl;
#[doc = "System PLL status"]
pub struct SYSPLLSTAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System PLL status"]
pub mod syspllstat;
#[doc = "USB PLL control"]
pub struct USBPLLCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB PLL control"]
pub mod usbpllctrl;
#[doc = "USB PLL status"]
pub struct USBPLLSTAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB PLL status"]
pub mod usbpllstat;
#[doc = "System oscillator control"]
pub struct SYSOSCCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System oscillator control"]
pub mod sysoscctrl;
#[doc = "Watchdog oscillator control"]
pub struct WDTOSCCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Watchdog oscillator control"]
pub mod wdtoscctrl;
#[doc = "System reset status register"]
pub struct SYSRSTSTAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System reset status register"]
pub mod sysrststat;
#[doc = "System PLL clock source select"]
pub struct SYSPLLCLKSEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System PLL clock source select"]
pub mod syspllclksel;
#[doc = "System PLL clock source update enable"]
pub struct SYSPLLCLKUEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System PLL clock source update enable"]
pub mod syspllclkuen;
#[doc = "USB PLL clock source select"]
pub struct USBPLLCLKSEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB PLL clock source select"]
pub mod usbpllclksel;
#[doc = "USB PLL clock source update enable"]
pub struct USBPLLCLKUEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB PLL clock source update enable"]
pub mod usbpllclkuen;
#[doc = "Main clock source select"]
pub struct MAINCLKSEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Main clock source select"]
pub mod mainclksel;
#[doc = "Main clock source update enable"]
pub struct MAINCLKUEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Main clock source update enable"]
pub mod mainclkuen;
#[doc = "System clock divider"]
pub struct SYSAHBCLKDIV {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System clock divider"]
pub mod sysahbclkdiv;
#[doc = "System clock control"]
pub struct SYSAHBCLKCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System clock control"]
pub mod sysahbclkctrl;
#[doc = "SSP0 clock divider"]
pub struct SSP0CLKDIV {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "SSP0 clock divider"]
pub mod ssp0clkdiv;
#[doc = "UART clock divider"]
pub struct UARTCLKDIV {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "UART clock divider"]
pub mod uartclkdiv;
#[doc = "SSP1 clock divider"]
pub struct SSP1CLKDIV {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "SSP1 clock divider"]
pub mod ssp1clkdiv;
#[doc = "USB clock source select"]
pub struct USBCLKSEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB clock source select"]
pub mod usbclksel;
#[doc = "USB clock source update enable"]
pub struct USBCLKUEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB clock source update enable"]
pub mod usbclkuen;
#[doc = "USB clock source divider"]
pub struct USBCLKDIV {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB clock source divider"]
pub mod usbclkdiv;
#[doc = "CLKOUT clock source select"]
pub struct CLKOUTSEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CLKOUT clock source select"]
pub mod clkoutsel;
#[doc = "CLKOUT clock source update enable"]
pub struct CLKOUTUEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CLKOUT clock source update enable"]
pub mod clkoutuen;
#[doc = "CLKOUT clock divider"]
pub struct CLKOUTDIV {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CLKOUT clock divider"]
pub mod clkoutdiv;
#[doc = "POR captured PIO status 0"]
pub struct PIOPORCAP0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "POR captured PIO status 0"]
pub mod pioporcap0;
#[doc = "POR captured PIO status 1"]
pub struct PIOPORCAP1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "POR captured PIO status 1"]
pub mod pioporcap1;
#[doc = "Brown-Out Detect"]
pub struct BODCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Brown-Out Detect"]
pub mod bodctrl;
#[doc = "System tick counter calibration"]
pub struct SYSTCKCAL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "System tick counter calibration"]
pub mod systckcal;
#[doc = "IQR delay. Allows trade-off between interrupt latency and determinism."]
pub struct IRQLATENCY {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "IQR delay. Allows trade-off between interrupt latency and determinism."]
pub mod irqlatency;
#[doc = "NMI Source Control"]
pub struct NMISRC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "NMI Source Control"]
pub mod nmisrc;
#[doc = "GPIO Pin Interrupt Select register 0"]
pub struct PINTSEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "GPIO Pin Interrupt Select register 0"]
pub mod pintsel;
#[doc = "USB clock control"]
pub struct USBCLKCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB clock control"]
pub mod usbclkctrl;
#[doc = "USB clock status"]
pub struct USBCLKST {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB clock status"]
pub mod usbclkst;
#[doc = "Start logic 0 interrupt wake-up enable register 0"]
pub struct STARTERP0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Start logic 0 interrupt wake-up enable register 0"]
pub mod starterp0;
#[doc = "Start logic 1 interrupt wake-up enable register 1"]
pub struct STARTERP1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Start logic 1 interrupt wake-up enable register 1"]
pub mod starterp1;
#[doc = "Power-down states in deep-sleep mode"]
pub struct PDSLEEPCFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Power-down states in deep-sleep mode"]
pub mod pdsleepcfg;
#[doc = "Power-down states for wake-up from deep-sleep"]
pub struct PDAWAKECFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Power-down states for wake-up from deep-sleep"]
pub mod pdawakecfg;
#[doc = "Power configuration register"]
pub struct PDRUNCFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Power configuration register"]
pub mod pdruncfg;
#[doc = "Device ID"]
pub struct DEVICE_ID {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Device ID"]
pub mod device_id;