Electrical – No ACK from slave device

communicationi2cmicrocontrollerprotocol

What are the possible problems for slave to not give ACK (pull down SDA line) after 8 bits of data? I can see 8bits (slave address) with osciloscope, but the ACK is high at 9th bit clock pulse, why?

Best Answer

A common problem when there is no ACK is that the slave address was incorrectly placed in the outgoing byte.

The 7-bit address needs to be shifted left one bit and the R/W bit inserted at the LSB.

What device are you trying to communicate with? What is the slave address you are using?

Related Topic