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.

[参考译文] MSPM0G3507:I2C Rx、Tx 状态校验代码

Guru**** 2455560 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1493976/mspm0g3507-i2c-rx-tx-status-check-code

器件型号:MSPM0G3507

工具与软件:

您好 Guru、

我想检查 I2C 状态。 因此、我是 TRM。

  

将变量声明为全局变量并访问该结构体。

gStatus1 =(I2C_INST -> SLAVE.SSR)和(1 << 0);// Rx 请求检查
gStatus2 =(I2C_INST -> SLAVE.SSR)和(1 << 1);// Tx 请求 检查

但不管用。

您知道如何访问 TREQ、RREQ (在 SSR 中)吗? 或者通过另一种方法来检查 Rx 或 Tx 请求?

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

    什么是不起作用的?

    TREQ 和 RREQ 只在特定条件下被置位(如上所述)。  您是否正在寻找 RXMODE/TXMODE?

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

    如您所知、主器件向从器件发送读取/写入命令。

    是否可以通过 TREQ、RREQ 检查命令?

    我认为 RXMODE、TXMODE 与 TREQ、RREQ 类似。 但我想通过 TREQ、RREQ 检查该命令

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

    RREQ/TREQ 与 RXMODE/TXMODE 不同。  

    您希望实现什么目标? 换句话说:您打算如何处理这些信息?

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

    我只想知道从器件的主器件的命令(读取/写入)

    我认为 RXMODE/TXMODE 非常适合我。

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

    在 I2C 启动中断中、该启动条件在地址匹配后触发。

    因此、仍有一些时间完成接收到的第8个位(读取/写入命令位)

    请添加一些延迟来读取此寄存器。

    您也可以启动计时器计数器并使用计时器中断来读取该 TREQ/RREQ。

    该延迟时间取决于 I2C 速度和 MSPM0中断进入/退出时间。

    您可以在 I2C 启动中断中设置 GPIO 以计算自由运行调试模式下的延迟时间。