主题中讨论的其他器件:C2000WARE
您好!
我已经编写了代码、通过 I2C 外设读取已编程的 EEPROM、下面是我完成的步骤。
在主发送器模式下配置 I2C 并发送 EEPROM 的起始地址。
在地址设置完成后、将 I2C 配置为主机接收器模式、按顺序读取最多16个字节(FIFO 最大值)的数据并停止数据传输。
重复上述步骤(不再次发送地址)以读取数据块(16字节)、直到所有数据读取完成。
当我获得前一个块的停止条件中断时、逐块读取完成。
所以、当我运行这个软件时、只有第一个块的读取成功...当我保持断点来检查 并运行软件时、逐块读取正如我所期望的那样成功。然后
我在发送命令用于下一个块读取之前保留了1微秒的延迟,这次也可以正常工作...没有延迟,它不能按预期工作。
我已经检查了传输失败时寄存器的状态、发现总线是空闲的、没有任何类型的中断、但是停止条件不会被清除。 我无法理解这种情况。
我编程的序列是否有故障或 缺少其他任何内容? 请帮助
此致、
Naveen。