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.

[参考译文] MSP430G2553:MSP430G2553同时使用两个SPI模块

Guru**** 2609895 points
Other Parts Discussed in Thread: MSP430G2553, ENERGIA

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/654480/msp430g2553-msp430g2553-use-both-spi-modules-at-the-same-time

部件号:MSP430G2553
主题中讨论的其他部件: Energia

嘿,

我是MSP430编程领域的新手,所以我有一个问题要问你们。 对于我的项目,我需要使用MSP430G2553的两个SPI模块(USI_A和USI_B)与两个从属设备通信(它们需要在不同的SPI_modes下工作,所以我需要两个SPI模块,对吗?)。 是否可以同时使用两个模块? 如何初始化? 你能举个例子吗?

此外,我还想使用Energia为MSP编程。 是否可以在Energia中实现两个SPI模块的使用?

感谢您的帮助!


此致,
西蒙

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

    要说明,您是否尝试将MSP430用作主设备以与2个从属设备通信? 如果是这样,您只需要在MSP430上使用一个SPI模块。 使用4线主模式应允许您与多个从属设备通信(有关使用4线模式的信息,请参阅用户指南)。

    如果您确实需要使用两个独立的SPI模块,则可以使用它们,与产品页上提供的软件示例中的相同。

    MSP430G2器件支持Energia,因此您可以使用Energia进行此操作。

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

    这是否解决了我们的问题? 如果是,请将其标记为"已回答"。 如果很快没有响应,则此线程将由于不活动而关闭。

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

    你好,Nathan,

    感谢您的帮助,并对延迟回答表示抱歉。 我对我的项目还有另一个问题。 正如我之前所写的,两个从属设备需要使用不同的SPI_MODES (不同的时钟极性)。 我想现在就使用Code Composer Studio进行编程。 当我找到了与一个从属设备通信并开始与另一个从属设备通信时,是否可以只使用一个SPI模块并切换模式?

    您认为在对MSP430G2553和两个从属设备之间的通信进行编程时,内存是否会用完? 我是否必须使用其他MSP?

    如果你能帮助我,那就太棒了!


    此致,

    西蒙

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

    您可以使用两个SPI模块或仅使用一个来执行所描述的操作。 如果您只使用一个并在传输之间切换SPI设置,那么这应该有效,但会带来一些延迟。 如果这不是应用程序的问题,则应该可以。 至于内存,就SPI传输而言,这应该不是问题。 但是,如果您需要存储通过SPI接收的大量数据,则可能需要查看您需要多少内存以及哪个设备可以提供这些内存。

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

    感谢你的帮助。 如果我只使用一个SPI模块,您能否告诉我它会造成多长时间的延迟? 我想在心动周期中测量一些参数,所以如果我要等50毫秒以上,就不可能。
    我想使用MSP430从从属设备1读取数据并将其发送到从属设备2,因此我不需要存储数据,而是立即发送。


    谢谢!
    此致,

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

    延迟将取决于具体的更改内容(例如时钟极性和其他参数)。 我不知道延迟是什么,但我建议您测量它,如果它对于您尝试执行的操作来说太大,您可以使用两个模块,这不会增加交换机SPI参数的延迟。


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

    你好,Nathan,

    好的,非常感谢。 我认为我将使用两个SPI模块来避免延迟。 您能帮我解决PIN吗? 在数据表中,我阅读了以下内容:

    P1_1:USI_A0错误
    P1_2:USI_A0 MOSI

    P1_6:USI_B0错误
    P1_7:USI_B0 MOSI

    我知道,我可以自己为ChipSelect选择引脚,但时钟呢? 是否必须使用PIN?

    非常感谢您的帮助!


    此致,
    西蒙

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

    请参阅数据表的"端口示意图"部分(而非用户指南)。 这将告诉您每个引脚的功能。 USI_A0 WFP的时钟引脚是1.4 ,USI_B0的时钟引脚是WFP的1.5。 有关配置和使用SPI的示例,另请参阅MSP430G2553产品页上的软件示例。

    此致,
    Nathan