Struct lpc82x::i2c0::RegisterBlock [] [src]

#[repr(C)]
pub struct RegisterBlock { pub cfg: CFG, pub stat: STAT, pub intenset: INTENSET, pub intenclr: INTENCLR, pub timeout: TIMEOUT, pub clkdiv: CLKDIV, pub intstat: INTSTAT, pub mstctl: MSTCTL, pub msttime: MSTTIME, pub mstdat: MSTDAT, pub slvctl: SLVCTL, pub slvdat: SLVDAT, pub slvadr: [SLVADR; 4], pub slvqual0: SLVQUAL0, pub monrxdat: MONRXDAT, // some fields omitted }

Register block

Fields

0x00 - Configuration for shared functions.

0x04 - Status register for Master, Slave, and Monitor functions.

0x08 - Interrupt Enable Set and read register.

0x0c - Interrupt Enable Clear register.

0x10 - Time-out value register.

0x14 - Clock pre-divider for the entire I2C block. This determines what time increments are used for the MSTTIME and SLVTIME registers.

0x18 - Interrupt Status register for Master, Slave, and Monitor functions.

0x20 - Master control register.

0x24 - Master timing configuration.

0x28 - Combined Master receiver and transmitter data register.

0x40 - Slave control register.

0x44 - Combined Slave receiver and transmitter data register.

0x48 - Slave address 0.

0x58 - Slave Qualification for address 0.

0x80 - Monitor receiver data register.