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.

[参考译文] CCS/MSP430FR2522:Tiva 和 MSP430之间的 I2C 主从器件

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/936746/ccs-msp430fr2522-i2c-master-slave-between-tiva-and-msp430

器件型号:MSP430FR2522
主题中讨论的其他器件:TM4C129ENCPDTMSP430FR2422

工具/软件:Code Composer Studio

你(们)好

我们正在开发一款产品、其中一个 TM4C129ENCPDT (I2C 主器件)和48个 MSP430FR2522IPW16芯片(I2C 从器件)需要在 I2C 主器件配置中相互通信。

对于 MSP430、是否有任何 I2C 从器件示例代码可供选择? 我得到的一个示例说明了 I2C 从设备使用中断。 我想先使用轮询方法进行检查。  

了解 I2C 从设备配置寄存器的任何文档也会非常有用。

我使用 I2C 与 RTC、ADC、GPS 等传感器模块进行通信、在这里、我曾按照相应数据表中显示的时序图进行操作并获取所需的数据。

但在本例中、我必须对 MSP430进行编程、以用作 I2C 从设备。 我不知道怎么做。

感谢您的参与和支持。

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

    您好!

     《MSP430TmMCU 上常见 eUSCI 和 USCI 串行通信问题解决方案 》应用手册是入门的有用资源。

    [引用 USER="RAGHUL N M">对于 MSP430、是否有任何 I2C 从设备示例代码可供使用? 我得到的一个示例说明了 I2C 从设备使用中断。 我想先使用轮询方法进行检查。  [/报价]

    CCS 内或 dev.ti.com 上的 TI Resource Explorer 中提供了多个从器件 I2C 代码示例。 中断优先于轮询、因此可能没有可用的轮询代码示例。 不过、您可以通过搜索论坛找到一些轮询代码。

    https://dev.ti.com/tirex/explore/node?node=AE.U94Ijeuid.QyTEVq8AQ__IOGqZri__LATEST

    [引用用户="RAGHUL N M"]

    了解 I2C 从设备配置寄存器的任何文档也会非常有用。

    我使用 I2C 与 RTC、ADC、GPS 等传感器模块进行通信、在这里、我曾按照相应数据表中显示的时序图进行操作并获取所需的数据。

    [/报价]

    请参阅 《MSP430FR4xx 和 MSP430FR2xx 系列用户指南 》和 FR2522数据表。

    此致、

    James

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

    尊敬的 James:

    感谢您提供这些文档。 这真的很有帮助。

    我已经在  两个单独的微控制器中尝试过您在链接中提到的示例代码- msp430fr2422_euscib0_i2c_15.c 和 msp430fr2422_euscib0_i2c_16.c。 它很有效!

    但它是单向的 i.e、主器件始终发送数据、从器件接收数据。 我想从主设备发送一些数据、并在从设备中接收。 收集一些字节的数据后、我想将其发送回主器件。 我尝试自行实施。 但它不起作用。 这就是为什么我要求轮询方法更容易理解 I2C 主从设备的原因。

    我修改了相同的示例代码以实现双向数据传输。  

    有人能指导我哪里出错了吗?

    感谢您的参与和支持。

    e2e.ti.com/.../I2C-master.txte2e.ti.com/.../I2C-slave.txt

     

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

    你(们)好

    我尝试编辑示例代码以使它们在没有中断的情况下工作。

    在下图中有两个示例代码-主器件向从器件发送四个字节的数据(0xA0、0xB0、0xC0、0xD1)。 当从机接收到数据的最后一个字节(0xD1)时、它会中断接收数据。 之后、从器件必须将数据发送回主器件 i.e、主器件必须从从器件请求4字节数据并获取数据。  

    我不知道怎么做。 我是否需要发送任何虚拟时钟脉冲? 如何配置从器件以了解主器件正在请求数据并对其做出响应? 我还在文本文件中附加了此代码段。

    感谢您的 timee2e.ti.com/.../i2c-master_5F00_slave-code.txt

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

    您好!

    在 TM4C129x 微控制器上使用 I2C 主器件的功能集 应用手册应该会有所帮助。

    此致、

    James