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.

[参考译文] MSP430F6736:AT24C04 EEPROM 在 I2C 上保持 SDA 为低电平

Guru**** 2027820 points
Other Parts Discussed in Thread: MSP430F6736
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/567238/msp430f6736-at24c04-eeprom-holding-sda-low-on-i2c

器件型号:MSP430F6736

也许有人可以向正确的方向指出我...

我的 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 时钟速度?

    它看起来像是 时钟条纹。 尝试降低时钟速度、看看它是否发生任何变化

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将在16.6MHz 下使用 SMCLK、并将总线设置为通过示波器验证的100KHz。
    我之前曾尝试降低速度以查看发生了什么、但没有改变。
    我认为 EEPROM 可能出现故障、但我尝试了另一个板、并遇到了相同的问题。

    此外、SDA 和 SCL 线路在该第8位之后保持低电平。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    哇... 也许您最好查看并尝试 slaa382 示例。 源代码。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果在触发 TXIFG (从器件应答后)后忘记写入 TXBUF、您会看到此症状。
    另请参见 SLAU208O 图38-12和秒 38.3.5.1。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    关键是我没有得到任何东西、因为 SDA 被保持在低电平(或 SCL 被保持在低电平)。。。。无论哪种情况下、没有 ACK 或任何生成的内容、因此也没有生成 Tx intr。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    伊尔玛斯和布鲁斯、大家好、还有其他人在阅读这篇文章。
    非常感谢您花时间尝试和帮助、并对浪费时间表示明确的道歉。

    Bruce 的回答让我深入探究了为什么我在 ISR 中没有看到 ACK..debugging 连续显示了2个 UCB0IV 中断的原理:0x04和0x18。 在开始这个线程之前,0x18让我感到困惑,因为它不是一个列出的 UCB0IV 值,所以(当时我的心头很复杂)我认为它是一个描述的柜台,这是我的第三个错误!
    那么,第一个错误是什么?……阅读 slau2080的第38章而不是第41章(它在目录的下一页),那是 msp430f6736适用的第38章。
    那么第二个错误?……看看使用第38章值的示例。

    现在、请正确继续!