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.

[参考译文] MSP430FR2355:在采用 I2C 模式的 EUSCI 的 MSP430上、哪些 I2C 库适合您?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/897456/msp430fr2355-what-i2c-library-works-for-you-on-msp430-with-eusci-in-i2c-mode

器件型号:MSP430FR2355
主题中讨论的其他器件:CAPTIVATE-PHONE

大家好、在具有 EUSCI 的 MSP430系列器件上、您会推荐什么 I2C 库?

我看到一个 TI 源代码示例 msp430fr235x_euscib0_i2c_16.c,但它非常不完全。
我在 https://jan.rychter.com/enblog/msp430-i2c-usi-library-released 上看到一个针对基于 USI 的器件的良好的基于中断的库

我正在寻找一种由中断驱动的东西、它具有相当简单的调用功能、并且能够发送序列
命令(上面的 USI 库模拟一个总线 Pirate)。

MSP430 DriverLib 手册具有以下代码示例:

以下示例展示了如何使用 I2C API 以主机身份发送数据。
//初始化从属设备
EUSCI_B_I2C_initSlaveParam param ={0};
param.slaveAddress = 0x48;
param.slaveAddressOffset = EUSCI_B_I2C_OFE_ADDRESS_OFFSET0;
param.slaveOwnAddressEnable = EUSCI_B_I2C_Own_address_enable;
EUSCI_B_I2C_initSlave (EUSCI_B0_BASE、param);
EUSCI_B_I2C_ENABLE (EUSCI_B0_BASE);
EUSCI_B_I2C_enableInterrupt (EUSCI_B0_BASE、
EUSCI_B_I2C_Transmit INTERRUPT0 +
EUSCI_B_I2C_STOP_INTERRUPT);

但这似乎实际上是从器件代码、它并未说明如何发送 I2C 主器件命令序列。

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

    Hallo、

    感谢您联系我们。

    我会检查并返回给您、因为我认为 FR235x 不支持 USI。

    您是否查看了 TI Resource Explorer 中列出的 DriverLib 示例

    或以下的寄存器级示例:

    这些信息可能有助于您了解实施情况

    此致

    Kostas

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

    尊敬的 Kostas:
    我说过我有一个很好的 USI 库、但对于 USCI 来说缺少一个库。

    在其他微控制器系列中、剪切粘贴10分钟。  到目前为止、我有几个小时的时间、除了涉水穿越大量非常分散的资源之外、没有其他的感觉。
    此人在2017年也有过同样的经历: https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/611950

    --

    是否有完整的中断或 DMA 驱动的 I2C 库用于具有 EUSCI 的 MSP430?  有什么东西接近 USI 模块的 Jan Rychter 库的优雅?
    有什么是实际调试和测试的代码?


    --

    这十个 TI 示例真的很奇怪。  谁只发送或仅接收?  
    这些实际上是代码片段、而不是示例:
    实际应用通常会写入一些 I2C 寄存器、读回一些状态、I2C 只是正在进行的工作的一部分。  这一切都是一回事。
    实际应用使用什么?

    --

    下面是一个有关 I2C 芯片所需内容的实际示例、它几乎始终是写入、重新启动、读取伪序列。  

     在 Bus Pirate 表示法中:

     "[0x38 0x0c [ 0x39 r ]"
    

    指定为库:

     {0x38, 0x0c, I2C_RESTART, 0x39, I2C_READ};
    

    在 I2C 术语中、该序列意味着:

      1. 将0x0c 写入器件0x1c (0x0c 通常是寄存器地址)(0x1c 向左移位、一次为0x38)
      2. 请勿松开总线。
      3. 发出重复启动。
      4. 从器件0x1c 读取一个字节(通常是该器件上寄存器0x0c 的内容)。

        是否有 MSP430代码可用于操作典型的 I2C 器件(EEPROM、传感器等)?

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

    如果没有 I2C 库、是
    是否有 driverlib 示例代码可根据 I2C 从器件的要求执行写入、重新启动、读取操作?

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

    您好、Bryce、

    我将进行检查并告知您。

    此致

    Kostas

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

    您好、Bryce、

    感谢您的热情。

    我知道、您认为我们的示例非常有限。 我认为我们没有 MSP430的驱动器、您希望看到它们的形式、我们现在不打算为当前的器件系列开发这些驱动器。

    很抱歉。

    让我与您分享一些其他信息、这些信息可能会进一步帮助 您。

    我希望这至少 能部分满足您的期望、否则请告诉我、以便我们能够帮助您进一步并努力改进这些期望。

    e2e.ti.com/.../I2CMaster.7z

    此软件包含在我们的 CapTIvate 器件示例 MSP430FR2633 CapTIvate 设计中心 GUI 示例(FR2633_CAPTIVATE-PHONE)中

    我希望附加的文件至少可以帮助简化实现。

    此致

    Kostas