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.

[参考译文] TMS320F2.8035万:I2C EEPROM示例代码

Guru**** 2540720 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/619358/tms320f28035-i2c-eeprom-example-code

部件号:TMS320F2.8035万
主题:controlSUITE中讨论的其他部件

您好!

我无法理解行号之间写入的代码 324至327个C文件"example_2803xI2C_EEPROM.c",该文件位于文件夹"ti\controlSUITE\DEVICE_SUPPORT\F2803x\V130\DSP2803x_examples_ccsv5\i2c_EEPROM"中2803中。 另见e2e.ti.com/.../Example_5F00_2803xI2C_5F00_eeprom.c

IF (CurrentMsgPtr->MsgStatus == I2C_MSGSTAT_send_NOSTOP_BUSY)
{
CurrentMsgPtr->MsgStatus = I2C_MSGSTAT_send_NOSTOP;
} 

有人能告诉我此代码的用途吗?

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我相信你应该在你发送了一个读交易的地址部分,收到了一个nack,然后发送了一个停止条件作为这个nack的结果(见第373-376行)。 将讯息状态设置回I2C_MSGSTAT_SEND_NOSTOP,通知main()中的循环尝试再次启动读交互。

    Whitney
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我同意,已读事务的地址部分最后是第行 324-327 (假定写入操作已完成)。
    所以我的问题是,我们再次将状态设置为"I2C_MSGSTAT_SEND_NOSTOP"。 因此,第170行的条件将会是真实的
    调用函数“I2CA_ReadData()”以设置地址。 此过程将继续,直到状态未更改为
    "I2C_MSGSTAT_RESTARE"。 然后将只读取消息
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有人能就此作出回应吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果未发送停止条件且未设置nack位,则状态设置为I2C_MSGSTAT_RESTART,表示地址发送成功。

    这是否澄清了行为? 我是否理解您的问题?

    Whitney