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.

[参考译文] MSP430G2553:I2C 数据线问题

Guru**** 2538930 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/977012/msp430g2553-i2c-data-line-issue

器件型号:MSP430G2553

尊敬的 TI 专家:

我有一个 EEPROM、我将与 I2C 连接、但当我们使用从器件地址发送起始条件时  

一旦从器件对地址做出应答、UCTXSTT 位就会被清零、但 SCL 始终保持低电平。 我将我的代码作为参考、因此如果有任何问题、请指向 out.e2e.ti.com/.../68387.main.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    #define SLAVE_READ_ADDR 0xA1
    #define SLAVE_WRITE_ADDR 0xA0

    I2C 地址仅为7位;R/W 位不是地址的一部分。 我的第一个猜测是正确的地址(读取和写入)是0x50。

    您使用的是什么 EEPROM 器件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Bruce、您好!

    EEPROM 的器件型号为 CAT24C02TDI-GT3A。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    数据表[CAT24C01/D 修订版34]图3显示了(7位)器件地址0x50。 (我假设您将 A0-A2引脚连接到 GND。)

    "器件寻址"一节中的术语[第5页]很不幸、因为它与 I2C 规范[UM10204版本6第3.1.10]相冲突。

    看起来、如果是 UCNACKIFG、您只需清除该指示器并将其忽略即可。 相反、我建议您发出一个带有错误指示的停止和唤醒主程序。 如果/当您开始使用 Ack 轮询时、这将变得很重要[Ref "Acknowledge Polling、p. 7]

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hiya Bruce、

    非常感谢 Bruce 的帮助。 我感谢您对此进行了研究、并指出了我正在处理的这个小问题。 非常感谢