Thread 中讨论的其他器件:C2000WARE
工具与软件:
尊敬的专家:
我的客户使用 I2C 从 EEPROM 中读取数据。 在某些情况下、F280049 (主接收器)无法生成 STOP 条件。
以下波形是在通信周期结束时捕获的。 EEPROM 正在响应 F280049。 但是、波形中有两个误差。
1.在 ACK 之前只有8个时钟。 当通信正常时、该值应为9。
2.缺少停止条件时、SCL 保持低电平、以便总线始终处于繁忙状态。

发生错误时我们读取 I2C 寄存器、我们看到 STP 位置位、但仍然没有生成停止条件。 再次手动清除并复位 STP 位通常可以生成停止条件。

似乎 I2C 以某种方式在一个时钟之前生成 ACK 并影响停止条件的生成。
有什么问题吗?
