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/MSP430G2553:I2C逐步

Guru**** 2613765 points
Other Parts Discussed in Thread: MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/664108/ccs-msp430g2553-i2c-step-by-step

部件号:MSP430G2553
主题中讨论的其他部件:MSP-FET

工具/软件:Code Composer Studio

您好,

我´m使用ATM示例代码并尝试学习I2C。

I´m使用MSP430 Launchpad上的示例代码“Master TX Multiple Bytes to MSP430 Slave”和“Slave RX Multiple Bytes from MSP430 Master”。

我´s不知道是否可以在没有I2C状态机的情况下编写代码,并逐步使用 示波器来查看总线上发生的情况。

是否有一个代码用于了解它的工作原理? (C)

也许有以下定义:

#define I2C_SLC_INIT P1OUT&&~BIT6
#define I2C_SLC_HI P1DIR&=~BIT6
#define I2C_SLC_LOW P1DIR|=BIT6

#define I2C_SDA_init P1OUT&&~BIT7
#define I2C_SDA_HI P1DIR&=~BIT7
#define I2C_SDA_LOW P1DIR|=BIT7

提前感谢并致以最诚挚的问候

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

    您好Patrick:

    代码示例是一个很好的起点。 在上面的代码中,您似乎是在尝试将引脚控制为GPIO,而不是使用USCI I2C模块功能(我认为这就是您所说的I2C状态机)。 I2C模块的优点在于它允许释放CPU,甚至在模块传输/接收时进入休眠状态。 如果使用了GPIO,则必须涉及CPU,并且代码/计时很困难。 用户指南还应包含有关此模块的更多详细信息。

    我建议使用逻辑分析器来运行代码并捕获I2C接口传输/接收的内容。 比起示波器,我更喜欢使用它。 此外 ,它还有助于阅读MSP430TmMCU 应用报告中常见eUSCI和USCI串行通信问题的流行解决方案。

    愉快的编码和学习!

    此致,

    詹姆斯

    MSP客户应用程序

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

    您好,James:

    感谢您的帮助! 正如您所说,我想对GPIO执行条件(例如,启动条件)。 我只想这样做,看看巴士上发生了什么。

    在我´ve之后,我将始终使用USCI I2C模块。 但为了学习,我希望看到一个能够做到这一点的代码。

    我知道这会有很多工作要做,所以我想知道是否有这样一个代码漂浮在周围:)

    此致

    Patrick

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

    USCI I2C模块处理启动条件。 我建议使用逻辑分析器来查看此代码,您可以使用像MSP-FET这样的调试器来逐步执行代码。 实际上, 《用户指南 》第17章对一切的工作原理做了一些很好的解释,并提供了一些有用的计时图。

    此致,

    詹姆斯

    MSP客户应用程序