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.

[参考译文] MSPM0L1116:I2C.CFIFOSR.TXFIFOCNT 复位为 4(而不是 8)

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1608212/mspm0l1116-i2c-cfifosr-txfifocnt-is-reset-as-4-not-8

器件型号: MSPM0L1116

从 TRM 中、此寄存器的复位值应为 8。

在我复位 I2C 外设后、我读取的该寄存器值为 4、而不是 8。

 

代码 I 重置 I2C 外设:

/*! Enable I2C power*/      
#define I2C_EnablePower(I2Cx)                                 SET_BIT(I2Cx->GPRCM.PWREN, I2C_PWREN_KEY_UNLOCK_W | I2C_PWREN_ENABLE_ENABLE)
/*! I2C peripheral reset*/      
#define I2C_PeripheralReset(I2Cx)                              I2Cx->GPRCM.RSTCTL =\
                                                               (I2C_RSTCTL_KEY_UNLOCK_W | I2C_RSTCTL_RESETSTKYCLR_CLR |\
                                                               I2C_RSTCTL_RESETASSERT_ASSERT)

    I2C_PeripheralReset(I2C0);
    I2C_EnablePower(I2C0);

复位后我读取的寄存器:

image.png

 

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

    尊敬的 Yiren:

    是的、我也发现了与您在此处所述相同的情形。 在测试过程中、我发现 I2C FIFO 只有 4 深度。

    让我来内部检查一下、并向您提供反馈。

    B.R.

    Sal

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

    哦,我有同样的感觉,我无法发送 I2C 数据一次以上 4 字节:(

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

    尊敬的 Yiren:

    很抱歉给您带来不便。

    我正在与内部团队进行核实、看看这是数据表中的拼写错误还是错误。

    B.R.

    Sal

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

    我可以尽可能地告诉您、这是唯一知道的方法(除了使用您现有的调试器之外):

    C:\ti\mspm0_sdk_2_09_00_01\source\ti\devices\msp\m0p>grep I2C_SYS_FENTRIES *.h
    mspm0c1105_c1106.h:#define I2C_SYS_FENTRIES                              (4)       /* !< Parameter for number of FIFO entries */
    mspm0c110x.h:#define I2C_SYS_FENTRIES                              (4)       /* !< Number of FIFO entries */
    mspm0g110x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0g150x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0g151x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0g310x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0g350x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0g351x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0g352x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0h321x.h:#define I2C_SYS_FENTRIES                              (4)       /* !< Number of FIFO entries */
    mspm0l110x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0l111x.h:#define I2C_SYS_FENTRIES                              (4)       /* !< Number of FIFO entries */
    mspm0l122x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0l130x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0l134x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */
    mspm0l222x.h:#define I2C_SYS_FENTRIES                              (8)       /* !< Number of FIFO entries */

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

    尊敬的 Yiren:

    我已经与内部团队进行了检查、规格设计为 4 入口深度。

    我已向文档团队报告、打算在下一个 MSPM0L111x 数据表版本中进行有关 I2C 详细信息一章的更新。

    感谢您的反馈。

    B.R.

    Sal