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.

[参考译文] TMS320F28035:通过 I2C 使用 EEPROM 进行读写操作

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/745686/tms320f28035-read-and-write-operation-using-eeprom-through-i2c

器件型号:TMS320F28035

您好,

i2c 的示例代码可用于一次运行。 但我想以重复模式转换代码。 我已经注释了 PASS ()代码并在 I2cMsgOut1.MsgStatus = I2C_MSGSTAT_SEND_WITHSTOP 中进行了定义

但 在      下一个周期中会生成中断 I2C_ARDY_ISRC,而不是 I2C_SCD_ISRC。 因此、请指导我们了解我必须更改 i2c 初始化设置以重复代码的内容。 或建议发生的原因

一些硬件问题。  

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

    您能更详细地解释一下您的应用吗? "在重复模式下转换代码"是什么意思? 您使用的 EEPROM 的器件型号是多少?

    我想、发生的情况是、在 I2CA_WriteData 函数期间、从器件地址部分被劫持、导致 I2C_ARDY_ISRC 触发(即、在向从器件写入 MemHigh/Low 地址和 MsgBuffer 字节之前、通信结束)。 查看 EEPROM 器件数据表可能会让您深入了解如何重新启动通信、或者 EEPROM 可能还没有准备好接收更多数据。

    查看 I2C 波形也有助于您的调试。

    希望这对您有所帮助、
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、开尔文、

    应用程序是参数校准。 我想在 EEPROM 中存储更多数据,并且可以在连续写入模式下使用代码,然后在读取模式下使用,而不是一次写入和读取模式。 我相应地更改了代码、但唯一的问题是代码从 i2c 中发出时中断代码
    按摩状态再次初始化并停留在该循环中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Navneet、

    好的。 您可能需要更改某些 MsgStatus 检查(IF/Else 语句)和重新声明(CurrentMsgPtr ->MsgStatus =……) 以使其保持连续。 我认为需要对 i2c_int1a_ISR 中断进行相当多的更改、以使连续读取/写入正常工作。

    您甚至可以根据需要重新设计应用程序以不使用 MsgStatus,或者以更有意义的方式使用它们。

    最棒的
    Kevin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好,我已经更改了代码,但是在2个写入周期之间,如果我给它4ms 的延迟,它工作正常,但我减少了第二次写入功能不工作的延迟。
    示例代码:

    EEPROM_WRITE (0x00、0x12);
    DELAY_US (4000);
    EEPROM_WRITE (0x01、0x34)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Navneet、

    当您减少或消除延迟时、您如何发现它在测试中不起作用? 您能否与我共享 EEPROM_write()函数?

    您使用的是什么 EEPROM 器件型号? 数据表上可能对此进行了一些解释。

    此外、在写入/读取期间、您是否有仪器来探测 I2C 波形? 通常最好查看波形以了解正在发生的情况。

    最棒的
    Kevin