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