Recall & Review
beginner
What is the purpose of the ACK (Acknowledge) signal in I2C communication?
The ACK signal confirms that the receiver has successfully received a byte of data and is ready for the next byte. It helps ensure reliable data transfer between devices.
Click to reveal answer
beginner
What does a NACK (Not Acknowledge) signal indicate in I2C communication?
A NACK signal means the receiver did not acknowledge the byte sent. This can indicate the end of data transfer, an error, or that the receiver is not ready to receive more data.
Click to reveal answer
intermediate
How does the master device detect a NACK from the slave in I2C?
After sending a byte, the master releases the SDA line during the 9th clock pulse. If the slave pulls SDA low, it sends an ACK; if SDA stays high, it sends a NACK, which the master detects.
Click to reveal answer
intermediate
In embedded C, how can you handle a NACK received after sending a byte over I2C?
You can check the status register or flag indicating NACK, then decide to retry, stop communication, or handle the error accordingly in your code.
Click to reveal answer
intermediate
Why is it important to send a NACK after the last byte when reading data from a slave device?
Sending a NACK after the last byte tells the slave that the master will stop reading. This prevents the slave from sending more data and allows the master to generate a STOP condition safely.
Click to reveal answer
What does the ACK signal in I2C indicate?
✗ Incorrect
ACK means the receiver got the data and is ready for the next byte.
When does the master detect a NACK from the slave?
✗ Incorrect
If SDA stays high during the 9th clock pulse, it means the slave sent a NACK.
What should the master do after sending a NACK during a read operation?
✗ Incorrect
A NACK signals the end of data; the master should stop communication.
Why is the 9th clock pulse important in I2C?
✗ Incorrect
The 9th clock pulse is used to send the ACK or NACK bit.
In embedded C, how can you detect a NACK after sending a byte?
✗ Incorrect
The status register or flag indicates if a NACK was received.
Explain the role of ACK and NACK signals in I2C communication and how they help ensure data integrity.
Think about how devices say 'I got it' or 'stop' during talking.
You got /4 concepts.
Describe how you would handle a NACK received during an I2C data transfer in embedded C code.
Consider what your program should do if the other device says 'no' to your data.
You got /4 concepts.