This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
也许有人可以向正确的方向指出我...
我的 MSP 应通过 I2C....it 与 AT24C04进行通信、这是总线上唯一的器件。
在示波器上、我可以看到 SCL 和 SDZ 信号-因此当我使用错误的器件地址时、我看到 MSP 为 addr 生成7个时钟位+ 1 clk 位为 r/w + 1 clk 位为 NAK 生成7个时钟位。
但是、当我发送正确的 addr 时、我看到 addr 的7个时钟位+ r/w 的1 clk 位、但 ACK 没有 clk 位、
UCB0STAT 寄存器的值为0x50、告诉我 SCL 被保持在低电平并且总线忙!!
我在 SCL 和 SDA 上使用5.1K 上拉电阻。
我应该在哪里四处查看什么会使 SCL 保持低电平(或者 EEPROM 是否会使 SDA 保持低电平、如果是、为什么会保持低电平?)
谢谢。
您使用的是哪种 i2c 时钟速度?
它看起来像是 时钟条纹。 尝试降低时钟速度、看看它是否发生任何变化
哇... 也许您最好查看并尝试 slaa382 示例。 源代码。
关键是我没有得到任何东西、因为 SDA 被保持在低电平(或 SCL 被保持在低电平)。。。。无论哪种情况下、没有 ACK 或任何生成的内容、因此也没有生成 Tx intr。