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.

[参考译文] TM4C1294NCPDT:I2C 处于从模式

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/785799/tm4c1294ncpdt-i2c-in-slave-mode

器件型号:TM4C1294NCPDT

您好!

我对从模式下的 I2C 配置有疑问。

一旦主器件触发了启动条件、我们就会得到 I2C_SLAVE_INT_START、对吧?

一旦主器件将从器件地址与操作位(读取/写入)一起放在 I2C 总线上、我们是否能够使用 I2C_SLAVE_INT_DATA 从 I2C_O_SDR 读取该字节? 如果不是,它放在哪里?  

假设我们有以下用例:

start->address[0][a]->[REG_MSB][a][REG_LSB][a]->重新启动-> address[1][a].......... 开始生成时钟并将从机数据移出... [NAak]->停止

从从器件的角度来看、一旦触发了重启条件、如何宣布将数据放置在寄存器中以移出、我们是否会获得该事务的任何中断?

 

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

    [引用 user="Briceag Cosmin"]

    一旦主器件触发了启动条件、我们就会得到 I2C_SLAVE_INT_START、对吧?

    [/报价]

    是的、由于您启用了中断生成来检测启动条件、因此从器件在检测到来自主器件的启动时生成从器件中断。

    [引用 user="Briceag Cosmin"]

    start->address[0][a]->[REG_MSB][a][REG_LSB][a]->重新启动-> address[1][a].......... 开始生成时钟并将从机数据移出... [NAak]->停止

    从从器件的角度来看、一旦触发了重启条件、如何宣布将数据放置在寄存器中以移出、我们是否会获得该事务的任何中断?

    [/报价]

    请参阅以下流程图。 当 TREQ 位置位后、您需要将数据写入从机、以便将数据发送回主机。  

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

    非常感谢您的澄清。
    那么,当 TREQ 被置位时,我们是否可以有一个中断?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     是的、如果您使用 I2C_SLAVE_INT_DATA 为数据启用中断。 请参阅以下数据表摘录。

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

    好极了。 感谢您的支持。