Struct nrf52::i2s::RegisterBlock
[−]
[src]
#[repr(C)]pub struct RegisterBlock { pub tasks_start: TASKS_START, pub tasks_stop: TASKS_STOP, pub events_rxptrupd: EVENTS_RXPTRUPD, pub events_stopped: EVENTS_STOPPED, pub events_txptrupd: EVENTS_TXPTRUPD, pub inten: INTEN, pub intenset: INTENSET, pub intenclr: INTENCLR, pub enable: ENABLE, // some fields omitted }
Register block
Fields
tasks_start: TASKS_START
0x00 - Starts continuous I2S transfer. Also starts MCK generator when this is enabled.
tasks_stop: TASKS_STOP
0x04 - Stops I2S transfer. Also stops MCK generator. Triggering this task will cause the {event:STOPPED} event to be generated.
events_rxptrupd: EVENTS_RXPTRUPD
0x104 - The RXD.PTR register has been copied to internal double-buffers. When the I2S module is started and RX is enabled, this event will be generated for every RXTXD.MAXCNT words that are received on the SDIN pin.
events_stopped: EVENTS_STOPPED
0x108 - I2S transfer stopped.
events_txptrupd: EVENTS_TXPTRUPD
0x114 - The TDX.PTR register has been copied to internal double-buffers. When the I2S module is started and TX is enabled, this event will be generated for every RXTXD.MAXCNT words that are sent on the SDOUT pin.
inten: INTEN
0x300 - Enable or disable interrupt
intenset: INTENSET
0x304 - Enable interrupt
intenclr: INTENCLR
0x308 - Disable interrupt
enable: ENABLE
0x500 - Enable I2S module.