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
tasks_startrx: VolatileCell<u32>
Start TWI receive sequence
addr = base + 0x000
_reserved_0: [u32; 1]
tasks_starttx: VolatileCell<u32>
Start TWI transmit sequence
addr = base + 0x008
_reserved_1: [u32; 2]
tasks_stop: VolatileCell<u32>
Stop TWI transaction_ Must be issued while the TWI master is not suspended_
addr = base + 0x014
_reserved_2: [u32; 1]
tasks_suspend: VolatileCell<u32>
Suspend TWI transaction
addr = base + 0x01C
tasks_resume: VolatileCell<u32>
Resume TWI transaction
addr = base + 0x020
_reserved_3: [u32; 56]
events_stopped: VolatileCell<u32>
TWI stopped
addr = base + 0x104
_reserved_4: [u32; 7]
events_error: VolatileCell<u32>
TWI error
addr = base + 0x124
_reserved_5: [u32; 8]
events_suspended: VolatileCell<u32>
Last byte has been sent out after the SUSPEND task has been issued, TWI traffic is now suspended
addr = base + 0x148
events_rxstarted: VolatileCell<u32>
Receive sequence started
addr = base + 0x14C
events_txstarted: VolatileCell<u32>
Transmit sequence started
addr = base + 0x150
_reserved_6: [u32; 2]
events_lastrx: VolatileCell<u32>
Byte boundary, starting to receive the last byte
addr = base + 0x15C
events_lasttx: VolatileCell<u32>
Byte boundary, starting to transmit the last byte
addr = base + 0x160
_reserved_7: [u32; 39]
shorts: VolatileCell<Shorts>
Shortcut register
addr = base + 0x200
_reserved_8: [u32; 63]
inten: VolatileCell<InterruptEnable>
Enable or disable interrupt
addr = base + 0x300
intenset: VolatileCell<InterruptEnable>
Enable interrupt
addr = base + 0x304
intenclr: VolatileCell<InterruptEnable>
Disable interrupt
addr = base + 0x308
_reserved_9: [u32; 110]
errorsrc: VolatileCell<ErrorSrc>
Error source
addr = base + 0x4C4
_reserved_10: [u32; 14]
enable: VolatileCell<u32>
Enable TWIM
addr = base + 0x500
_reserved_11: [u32; 1]
psel_scl: VolatileCell<Pinmux>
Pin select for SCL signal
addr = base + 0x508
psel_sda: VolatileCell<Pinmux>
Pin select for SDA signal
addr = base + 0x50C
_reserved_12: [u32; 5]
frequency: VolatileCell<u32>
TWI frequency
addr = base + 0x524
_reserved_13: [u32; 3]
rxd_ptr: VolatileCell<*mut u8>
Data pointer
addr = base + 0x534
rxd_maxcnt: VolatileCell<u32>
Maximum number of bytes in receive buffer
addr = base + 0x538
rxd_amount: VolatileCell<u32>
Number of bytes transferred in the last transaction
addr = base + 0x53C
rxd_list: VolatileCell<u32>
EasyDMA list type
addr = base + 0x540
txd_ptr: VolatileCell<*mut u8>
Data pointer
addr = base + 0x544
txd_maxcnt: VolatileCell<u32>
Maximum number of bytes in transmit buffer
addr = base + 0x548
txd_amount: VolatileCell<u32>
Number of bytes transferred in the last transaction
addr = base + 0x54C
txd_list: VolatileCell<u32>
EasyDMA list type
addr = base + 0x550
_reserved_14: [u32; 13]
address: VolatileCell<u32>
Address used in the TWI transfer
addr = base + 0x588