Struct qn908x_rs::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 slvqual0: SLVQUAL0, pub monrxdat: MONRXDAT, pub id: ID, // some fields omitted }
Register block
Fields
cfg: CFG
0x800 - Configuration for shared functions.
stat: STAT
0x804 - Status register for Master, Slave, and Monitor functions.
intenset: INTENSET
0x808 - Interrupt Enable Set and read register.
intenclr: INTENCLR
0x80c - Interrupt Enable Clear register.
timeout: TIMEOUT
0x810 - Time-out value register.
clkdiv: CLKDIV
0x814 - Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function.
intstat: INTSTAT
0x818 - Interrupt Status register for Master, Slave, and Monitor functions.
mstctl: MSTCTL
0x820 - Master control register.
msttime: MSTTIME
0x824 - Master timing configuration.
mstdat: MSTDAT
0x828 - Combined Master receiver and transmitter data register.
slvctl: SLVCTL
0x840 - Slave control register.
slvdat: SLVDAT
0x844 - Combined Slave receiver and transmitter data register.
slvqual0: SLVQUAL0
0x858 - Slave Qualification for address 0.
monrxdat: MONRXDAT
0x880 - Monitor receiver data register.
id: ID
0xffc - I2C module Identification. This value appears in the shared Flexcomm peripheral ID register when I2C is selected.