xmc1000 0.1.0

Peripheral access API for XMC1xxx series microcontrollers
Documentation
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    _reserved0: [u8; 4usize],
    #[doc = "0x04 - Channel Configuration Register"]
    pub ccfg: CCFG,
    _reserved1: [u8; 4usize],
    #[doc = "0x0c - Kernel State Configuration Register"]
    pub kscfg: KSCFG,
    #[doc = "0x10 - Fractional Divider Register"]
    pub fdr: FDR,
    #[doc = "0x14 - Baud Rate Generator Register"]
    pub brg: BRG,
    #[doc = "0x18 - Interrupt Node Pointer Register"]
    pub inpr: INPR,
    #[doc = "0x1c - Input Control Register 0"]
    pub dx0cr: DX0CR,
    #[doc = "0x20 - Input Control Register 1"]
    pub dx1cr: DX1CR,
    #[doc = "0x24 - Input Control Register 2"]
    pub dx2cr: DX2CR,
    #[doc = "0x28 - Input Control Register 3"]
    pub dx3cr: DX3CR,
    #[doc = "0x2c - Input Control Register 4"]
    pub dx4cr: DX4CR,
    #[doc = "0x30 - Input Control Register 5"]
    pub dx5cr: DX5CR,
    #[doc = "0x34 - Shift Control Register"]
    pub sctr: SCTR,
    #[doc = "0x38 - Transmit Control/Status Register"]
    pub tcsr: TCSR,
    #[doc = "0x3c - Protocol Control Register"]
    pub pcr: PCR,
    #[doc = "0x40 - Channel Control Register"]
    pub ccr: CCR,
    #[doc = "0x44 - Capture Mode Timer Register"]
    pub cmtr: CMTR,
    #[doc = "0x48 - Protocol Status Register"]
    pub psr: PSR,
    #[doc = "0x4c - Protocol Status Clear Register"]
    pub pscr: PSCR,
    #[doc = "0x50 - Receiver Buffer Status Register"]
    pub rbufsr: RBUFSR,
    #[doc = "0x54 - Receiver Buffer Register"]
    pub rbuf: RBUF,
    #[doc = "0x58 - Receiver Buffer Register for Debugger"]
    pub rbufd: RBUFD,
    #[doc = "0x5c - Receiver Buffer Register 0"]
    pub rbuf0: RBUF0,
    #[doc = "0x60 - Receiver Buffer Register 1"]
    pub rbuf1: RBUF1,
    #[doc = "0x64 - Receiver Buffer 01 Status Register"]
    pub rbuf01sr: RBUF01SR,
    #[doc = "0x68 - Flag Modification Register"]
    pub fmr: FMR,
    _reserved2: [u8; 20usize],
    #[doc = "0x80 - Transmit Buffer"]
    pub tbuf: [TBUF; 32],
    #[doc = "0x100 - Bypass Data Register"]
    pub byp: BYP,
    #[doc = "0x104 - Bypass Control Register"]
    pub bypcr: BYPCR,
    #[doc = "0x108 - Transmitter Buffer Control Register"]
    pub tbctr: TBCTR,
    #[doc = "0x10c - Receiver Buffer Control Register"]
    pub rbctr: RBCTR,
    #[doc = "0x110 - Transmit/Receive Buffer Pointer Register"]
    pub trbptr: TRBPTR,
    #[doc = "0x114 - Transmit/Receive Buffer Status Register"]
    pub trbsr: TRBSR,
    #[doc = "0x118 - Transmit/Receive Buffer Status Clear Register"]
    pub trbscr: TRBSCR,
    #[doc = "0x11c - Receiver Buffer Output Register"]
    pub outr: OUTR,
    #[doc = "0x120 - Receiver Buffer Output Register L for Debugger"]
    pub outdr: OUTDR,
    _reserved3: [u8; 92usize],
    #[doc = "0x180 - Transmit FIFO Buffer"]
    pub in_: [IN; 32],
}
#[doc = "Channel Configuration Register"]
pub struct CCFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Configuration Register"]
pub mod ccfg;
#[doc = "Kernel State Configuration Register"]
pub struct KSCFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Kernel State Configuration Register"]
pub mod kscfg;
#[doc = "Fractional Divider Register"]
pub struct FDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Fractional Divider Register"]
pub mod fdr;
#[doc = "Baud Rate Generator Register"]
pub struct BRG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Baud Rate Generator Register"]
pub mod brg;
#[doc = "Interrupt Node Pointer Register"]
pub struct INPR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Node Pointer Register"]
pub mod inpr;
#[doc = "Input Control Register 0"]
pub struct DX0CR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Input Control Register 0"]
pub mod dx0cr;
#[doc = "Input Control Register 1"]
pub struct DX1CR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Input Control Register 1"]
pub mod dx1cr;
#[doc = "Input Control Register 2"]
pub struct DX2CR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Input Control Register 2"]
pub mod dx2cr;
#[doc = "Input Control Register 3"]
pub struct DX3CR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Input Control Register 3"]
pub mod dx3cr;
#[doc = "Input Control Register 4"]
pub struct DX4CR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Input Control Register 4"]
pub mod dx4cr;
#[doc = "Input Control Register 5"]
pub struct DX5CR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Input Control Register 5"]
pub mod dx5cr;
#[doc = "Shift Control Register"]
pub struct SCTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Shift Control Register"]
pub mod sctr;
#[doc = "Transmit Control/Status Register"]
pub struct TCSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit Control/Status Register"]
pub mod tcsr;
#[doc = "Protocol Control Register"]
pub struct PCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Control Register"]
pub mod pcr;
#[doc = "Protocol Control Register [ASC Mode]"]
pub struct PCR_ASCMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Control Register [ASC Mode]"]
pub mod pcr_ascmode;
#[doc = "Protocol Control Register [SSC Mode]"]
pub struct PCR_SSCMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Control Register [SSC Mode]"]
pub mod pcr_sscmode;
#[doc = "Protocol Control Register [IIC Mode]"]
pub struct PCR_IICMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Control Register [IIC Mode]"]
pub mod pcr_iicmode;
#[doc = "Protocol Control Register [IIS Mode]"]
pub struct PCR_IISMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Control Register [IIS Mode]"]
pub mod pcr_iismode;
#[doc = "Channel Control Register"]
pub struct CCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Control Register"]
pub mod ccr;
#[doc = "Capture Mode Timer Register"]
pub struct CMTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Capture Mode Timer Register"]
pub mod cmtr;
#[doc = "Protocol Status Register"]
pub struct PSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Status Register"]
pub mod psr;
#[doc = "Protocol Status Register [ASC Mode]"]
pub struct PSR_ASCMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Status Register [ASC Mode]"]
pub mod psr_ascmode;
#[doc = "Protocol Status Register [SSC Mode]"]
pub struct PSR_SSCMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Status Register [SSC Mode]"]
pub mod psr_sscmode;
#[doc = "Protocol Status Register [IIC Mode]"]
pub struct PSR_IICMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Status Register [IIC Mode]"]
pub mod psr_iicmode;
#[doc = "Protocol Status Register [IIS Mode]"]
pub struct PSR_IISMODE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Status Register [IIS Mode]"]
pub mod psr_iismode;
#[doc = "Protocol Status Clear Register"]
pub struct PSCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Protocol Status Clear Register"]
pub mod pscr;
#[doc = "Receiver Buffer Status Register"]
pub struct RBUFSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Status Register"]
pub mod rbufsr;
#[doc = "Receiver Buffer Register"]
pub struct RBUF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Register"]
pub mod rbuf;
#[doc = "Receiver Buffer Register for Debugger"]
pub struct RBUFD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Register for Debugger"]
pub mod rbufd;
#[doc = "Receiver Buffer Register 0"]
pub struct RBUF0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Register 0"]
pub mod rbuf0;
#[doc = "Receiver Buffer Register 1"]
pub struct RBUF1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Register 1"]
pub mod rbuf1;
#[doc = "Receiver Buffer 01 Status Register"]
pub struct RBUF01SR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer 01 Status Register"]
pub mod rbuf01sr;
#[doc = "Flag Modification Register"]
pub struct FMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Flag Modification Register"]
pub mod fmr;
#[doc = "Transmit Buffer"]
pub struct TBUF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit Buffer"]
pub mod tbuf;
#[doc = "Bypass Data Register"]
pub struct BYP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Bypass Data Register"]
pub mod byp;
#[doc = "Bypass Control Register"]
pub struct BYPCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Bypass Control Register"]
pub mod bypcr;
#[doc = "Transmitter Buffer Control Register"]
pub struct TBCTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmitter Buffer Control Register"]
pub mod tbctr;
#[doc = "Receiver Buffer Control Register"]
pub struct RBCTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Control Register"]
pub mod rbctr;
#[doc = "Transmit/Receive Buffer Pointer Register"]
pub struct TRBPTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit/Receive Buffer Pointer Register"]
pub mod trbptr;
#[doc = "Transmit/Receive Buffer Status Register"]
pub struct TRBSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit/Receive Buffer Status Register"]
pub mod trbsr;
#[doc = "Transmit/Receive Buffer Status Clear Register"]
pub struct TRBSCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit/Receive Buffer Status Clear Register"]
pub mod trbscr;
#[doc = "Receiver Buffer Output Register"]
pub struct OUTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Output Register"]
pub mod outr;
#[doc = "Receiver Buffer Output Register L for Debugger"]
pub struct OUTDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Receiver Buffer Output Register L for Debugger"]
pub mod outdr;
#[doc = "Transmit FIFO Buffer"]
pub struct IN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Transmit FIFO Buffer"]
pub mod in_;