No Acknowledge Condition
This is not exactly a condition. It is merely a state in the data flow between master and slave.
If, after transmission of the 8th bit from the master to the slave the slave does not pull the SDA line low, then this is considered a No ACK condition.
This means that either :
- The slave is not there (in case of an address)
- The slave missed a pulse and got out of sync with the SCL line of the master.
- The bus is "stuck". One of the lines could be held low permanently.
In any case the master should abort by attempting to send a stop condition on the bus.
A test for a "stuck bus" can be performed in the stop condition cycle.