Type Alias esp32h2::i2c0::sr::R

source ·
pub type R = R<SR_SPEC>;
Expand description

Register SR reader

Aliased Type§

struct R { /* private fields */ }

Implementations§

source§

impl R

source

pub fn resp_rec(&self) -> RESP_REC_R

Bit 0 - The received ACK value in master mode or slave mode. 0: ACK, 1: NACK.

source

pub fn slave_rw(&self) -> SLAVE_RW_R

Bit 1 - When in slave mode, 1: master reads from slave, 0: master writes to slave.

source

pub fn arb_lost(&self) -> ARB_LOST_R

Bit 3 - When the I2C controller loses control of SCL line, this register changes to 1.

source

pub fn bus_busy(&self) -> BUS_BUSY_R

Bit 4 - 1: the I2C bus is busy transferring data, 0: the I2C bus is in idle state.

source

pub fn slave_addressed(&self) -> SLAVE_ADDRESSED_R

Bit 5 - When configured as an I2C Slave, and the address sent by the master is equal to the address of the slave, then this bit will be of high level.

source

pub fn rxfifo_cnt(&self) -> RXFIFO_CNT_R

Bits 8:13 - This field represents the amount of data needed to be sent.

source

pub fn stretch_cause(&self) -> STRETCH_CAUSE_R

Bits 14:15 - The cause of stretching SCL low in slave mode. 0: stretching SCL low at the beginning of I2C read data state. 1: stretching SCL low when I2C Tx FIFO is empty in slave mode. 2: stretching SCL low when I2C Rx FIFO is full in slave mode.

source

pub fn txfifo_cnt(&self) -> TXFIFO_CNT_R

Bits 18:23 - This field stores the amount of received data in RAM.

source

pub fn scl_main_state_last(&self) -> SCL_MAIN_STATE_LAST_R

Bits 24:26 - This field indicates the states of the I2C module state machine. 0: Idle, 1: Address shift, 2: ACK address, 3: Rx data, 4: Tx data, 5: Send ACK, 6: Wait ACK

source

pub fn scl_state_last(&self) -> SCL_STATE_LAST_R

Bits 28:30 - This field indicates the states of the state machine used to produce SCL. 0: Idle, 1: Start, 2: Negative edge, 3: Low, 4: Positive edge, 5: High, 6: Stop