I2C - No ack for Device address?

floitsch_toit
Posts: 43
Joined: Wed Jun 29, 2022 4:25 pm
Location: Aarhus, Denmark
Contact:

I2C - No ack for Device address?

Postby floitsch_toit » Wed Mar 12, 2025 2:05 pm

The documentation for the I2C Master Write and Read [0] has a diagram that states that the slave doesn't ack the (device address | R) and immediately sends the data that should be read. Is this a bug in the documentation, or is there really no ACK happening?

[0] https://docs.espressif.com/projects/esp ... e-and-read

ahsrabrifat
Posts: 201
Joined: Sat Jan 18, 2025 2:31 pm

Re: I2C - No ack for Device address?

Postby ahsrabrifat » Wed Mar 12, 2025 5:35 pm

The typical sequence for a combined write and read operation involves:

The master sends a START condition.
The master sends the slave address with the write bit (0).
The slave acknowledges (ACK) the address.
The master sends the register address it wants to write to or read from.
The slave acknowledges (ACK) the register address.
The master sends a repeated START condition.
The master sends the slave address with the read bit (1).
The slave acknowledges (ACK) the address.
The slave sends the requested data.
The master sends a NACK after the last byte to indicate the end of reading.
The master sends a STOP condition to release the bus.
The absence of this ACK in the diagram does not reflect the standard I²C behavior. Maybe it was skipped unintentionally.

floitsch_toit
Posts: 43
Joined: Wed Jun 29, 2022 4:25 pm
Location: Aarhus, Denmark
Contact:

Re: I2C - No ack for Device address?

Postby floitsch_toit » Wed Mar 12, 2025 6:25 pm

Thanks.
I have submitted feedback.

Who is online

Users browsing this forum: ChatGPT-User, Qwantbot, trendictionbot and 1 guest