Struct nrf52::i2c::registers::TWIM [] [src]

pub struct TWIM {
    pub tasks_startrx: VolatileCell<u32>,
    _reserved_0: [u32; 1],
    pub tasks_starttx: VolatileCell<u32>,
    _reserved_1: [u32; 2],
    pub tasks_stop: VolatileCell<u32>,
    _reserved_2: [u32; 1],
    pub tasks_suspend: VolatileCell<u32>,
    pub tasks_resume: VolatileCell<u32>,
    _reserved_3: [u32; 56],
    pub events_stopped: VolatileCell<u32>,
    _reserved_4: [u32; 7],
    pub events_error: VolatileCell<u32>,
    _reserved_5: [u32; 8],
    pub events_suspended: VolatileCell<u32>,
    pub events_rxstarted: VolatileCell<u32>,
    pub events_txstarted: VolatileCell<u32>,
    _reserved_6: [u32; 2],
    pub events_lastrx: VolatileCell<u32>,
    pub events_lasttx: VolatileCell<u32>,
    _reserved_7: [u32; 39],
    pub shorts: VolatileCell<Shorts>,
    _reserved_8: [u32; 63],
    pub inten: VolatileCell<InterruptEnable>,
    pub intenset: VolatileCell<InterruptEnable>,
    pub intenclr: VolatileCell<InterruptEnable>,
    _reserved_9: [u32; 110],
    pub errorsrc: VolatileCell<ErrorSrc>,
    _reserved_10: [u32; 14],
    pub enable: VolatileCell<u32>,
    _reserved_11: [u32; 1],
    pub psel_scl: VolatileCell<Pinmux>,
    pub psel_sda: VolatileCell<Pinmux>,
    _reserved_12: [u32; 5],
    pub frequency: VolatileCell<u32>,
    _reserved_13: [u32; 3],
    pub rxd_ptr: VolatileCell<*mut u8>,
    pub rxd_maxcnt: VolatileCell<u32>,
    pub rxd_amount: VolatileCell<u32>,
    pub rxd_list: VolatileCell<u32>,
    pub txd_ptr: VolatileCell<*mut u8>,
    pub txd_maxcnt: VolatileCell<u32>,
    pub txd_amount: VolatileCell<u32>,
    pub txd_list: VolatileCell<u32>,
    _reserved_14: [u32; 13],
    pub address: VolatileCell<u32>,
}

Fields

Start TWI receive sequence

addr = base + 0x000

Start TWI transmit sequence

addr = base + 0x008

Stop TWI transaction_ Must be issued while the TWI master is not suspended_

addr = base + 0x014

Suspend TWI transaction

addr = base + 0x01C

Resume TWI transaction

addr = base + 0x020

TWI stopped

addr = base + 0x104

TWI error

addr = base + 0x124

Last byte has been sent out after the SUSPEND task has been issued, TWI traffic is now suspended

addr = base + 0x148

Receive sequence started

addr = base + 0x14C

Transmit sequence started

addr = base + 0x150

Byte boundary, starting to receive the last byte

addr = base + 0x15C

Byte boundary, starting to transmit the last byte

addr = base + 0x160

Shortcut register

addr = base + 0x200

Enable or disable interrupt

addr = base + 0x300

Enable interrupt

addr = base + 0x304

Disable interrupt

addr = base + 0x308

Error source

addr = base + 0x4C4

Enable TWIM

addr = base + 0x500

Pin select for SCL signal

addr = base + 0x508

Pin select for SDA signal

addr = base + 0x50C

TWI frequency

addr = base + 0x524

Data pointer

addr = base + 0x534

Maximum number of bytes in receive buffer

addr = base + 0x538

Number of bytes transferred in the last transaction

addr = base + 0x53C

EasyDMA list type

addr = base + 0x540

Data pointer

addr = base + 0x544

Maximum number of bytes in transmit buffer

addr = base + 0x548

Number of bytes transferred in the last transaction

addr = base + 0x54C

EasyDMA list type

addr = base + 0x550

Address used in the TWI transfer

addr = base + 0x588