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.

[参考译文] TMS320F2800157:I2C 检测从器件是否准备好传输数据。

Guru**** 2538930 points
Other Parts Discussed in Thread: TMS320F2800157

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1378088/tms320f2800157-i2c-detect-whether-slave-is-ready-with-data

器件型号:TMS320F2800157

工具与软件:

尊敬的 TI 团队:

考虑两个 TMS320F2800157电路板、1. 主设备作为接收器以及2. 作为使用 I2C 连接的发送器配置从器件。

我们需要在主器件端使用什么代码片段来检测从器件是否已将数据放入其自己的发送器(TX) FIFO 缓冲器中、以便可以在主器件端发送启动条件?

考虑两个 TMS320F2800157电路板、1. 主设备作为发送器、2. 使用 I2C 连接的从器件作为接收器配置。

我们需要在主器件端使用什么代码片段来检测从器件是否在其自身的接收(RX) FIFO 缓冲区中接收到数据、以便可以在主器件端发送停止条件?

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

    尊敬的 Kaustuv:

    这个问题是否也与创建的另一个线程有关?

    此致、

    Aishwarya.  

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

    尊敬的 Aishwarya:

    它部分相关。

    请思考一个问题。 控制器发送器已向目标接收器传输某个整数值。 然后在目标接收器端、需要一些时间来处理该值、进行一些计算、并将结果放入 FIFO 的事务缓冲区。 另一方面、控制器应具有重量、并将其配置更改为控制器接收器。 由于目标端数据的整个计算和处理时间是未知的、因此对于控制器端、控制器如何知道已将某些数据放入从器件的事务缓冲区、以便它可以继续处理数据命令?

    此致

    Kaustuv

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

    尊敬的 Aishwarya:

    它部分相关。

    请思考一个问题。 控制器发送器已向目标接收器传输某个整数值。 然后在目标接收器端、需要一些时间来处理该值、进行一些计算、并将结果放入 FIFO 的事务缓冲区。 另一方面、控制器应具有重量、并将其配置更改为控制器接收器。 由于目标端数据的整个计算和处理时间是未知的、因此对于控制器端、控制器如何知道已将某些数据放入从器件的事务缓冲区、以便它可以继续处理数据命令?

    此致

    Kaustuv

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

    Kaustuv

    一旦目标完成接收、处理和存储数据、它就会向控制器发送 ACK/NACK、然后进入 I2C RX ISR (如果使用中断)。  此时控制器可以发送数据命令。 状态标志还可随时跟踪 I2C 模块中发生的情况。 我在这里介绍的 是基本的 I2C 协议。  

    此致、

    Aishwarya.