ZHCACH2 march 2023 PCA9306
在 I2C 通信中,每个事务都包含来自控制器的 8 位(1 字节)信息,后跟来自目标器件的一位信息。目标器件发送的位可以是 0(通常表示为 ACK 位),也可以是 1(通常表示为 NACK 位)。当目标发送 ACK 位时,这表示已正确收到传输的数据,而没有任何错误。当目标发送 NACK 位时,这表示接收器未正确接收到传输的数据或地址。在 I2C 系统中,有几种一般情况可能导致生成 NACK。了解 I2C 总线 应用手册的 ACK 和 NACK 一节中对这些情况进行了详细说明。
图 2-1 中的示例展示了 I2C 控制器尝试写入地址 0x55h 的目标器件时发生了 NACK 以及 I2C 目标 NACK(不会在第 9 个时钟脉冲上将 SDA 驱动为低电平)。