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.

[参考译文] TMS320F28379D:I2C 中断

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/906641/tms320f28379d-i2c-interrupts

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

是否可以同时使用 I2C 中断和 I2C-FIFO 中断?

如果是、是否有示例?

谢谢、

Dhammika

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

    Dhammika、

    I2C 中断和 I2C FIFO 中断可由以下 I2C 事件触发。 在 EPIE 中断中、I2C 中断和 I2C FIFO 中断都独立于 eachother、可以一起使用。

    我们在 C2000Ware 中提供的 I2C 示例代码仅使用 I2C FIFO 中断、而不使用 I2C 中断。 I2C 中断可由多个事件触发、您必须在哪个事件上触发 I2C 中断? 请澄清一下?

    此致、

    曼诺伊

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

    您好、Manoj、

    我要执行以下操作。

    1. 设置 MASTER_SEND_MODE
    2. 发送“开始”
    3. 设置要传输的字节数。
    4. 发送 EEPROM 地址(2字节)。
    5. 发送数据字节
    6. 等待 FIFO 空中断被接收。
    7. 收到中断后,发送“停止”
    8. 等待检测到停止条件(SCD)中断发生。
    9. 一旦 SCD 中断发生、表示总线处于非活动状态。

     这只是为了将数据写入串行 EEPROM。 我没有使用自由数据格式。 步骤编号 8永远不会发生(即 I2C 中断没有发生)。

    我的最终目的是在接收 FIFO 空中断后发送更多数据,然后发送“停止”。  但我不能走这么远。 您是否有一个可以执行上述操作的示例?

    谢谢、

    Dhammika

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

    Dhammika、

    我被一个重要的项目截止日期所限制。 我将在几个工作日内与您联系。

    此致、

    曼诺伊

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

    您好、Manoj、

    没问题。

    此致、

    Dhammika

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

    Dhammika、

    您在调试本主题方面是否取得了任何进展?

    此致、

    曼诺伊

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

    您好、Manoj、

    我在等你的一些建议。 我已经尝试了各种各样的事情来使它正常工作。 唯一保留的方法是、1)使用自由格式数据、2)使用 I2C 中断、并在需要发送第二组数据字节时再次指定字节数。 不过,我没有尝试过这些。

    谢谢、

    Dhammika。

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

    您好、Manoj、

    我成功写入了超过16字节的数据、而不多次发送 EEPROM 地址。 我使用了 I2C 中断、但没有使用 FIFO 中断。 这足以满足我的目的。 我使用 I2C_REPED_MODE 写入数据。  

    读取不是一个主要问题、因为 EEPROM 始终记住上次读取的地址、并且我们不必再次发送地址(除非我们希望访问 EEPROM 的完全不同区域)。 我不想发布代码、因为此时代码有点难看。  

    谢谢、

    Dhammika