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

0x800 - Configuration for shared functions.

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

0x808 - Interrupt Enable Set and read register.

0x80c - Interrupt Enable Clear register.

0x810 - Time-out value register.

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.

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

0x820 - Master control register.

0x824 - Master timing configuration.

0x828 - Combined Master receiver and transmitter data register.

0x840 - Slave control register.

0x844 - Combined Slave receiver and transmitter data register.

0x858 - Slave Qualification for address 0.

0x880 - Monitor receiver data register.

0xffc - I2C module Identification. This value appears in the shared Flexcomm peripheral ID register when I2C is selected.

Trait Implementations

Auto Trait Implementations

impl Send for RegisterBlock

impl !Sync for RegisterBlock