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.

[参考译文] MSP430F5419A:msp430f5419a 和 C3100

Guru**** 2392215 points
Other Parts Discussed in Thread: MSP430F5419A, CC3100, MSP-EXP430F5529LP, MSP430F5529, CC3100BOOST

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/670723/msp430f5419a-msp430f5419a-and-c3100

器件型号:MSP430F5419A
主题中讨论的其他器件: CC3100MSP-EXP430F5529LPMSP430F5529CC3100BOOST

大家好、我正在尝试将 C3100与 msp430f5419a 在独立模式下使用。 我正在开发一个可由应用控制的器件。 我真的很困惑如何使用 C3100连接 msp430f5419a 和应用。

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

    欢迎来到论坛。
    您通过说 C3100来指代哪个器件? 您是指 CC3100、一款 Wifi 器件吗? 您使用哪种电路板?

    通常、MSP430F5419A 可通过标准协议 SPI、UART 和 I2C 进行通信。

    用户指南和代码示例介绍了不同的外设并展示了如何对它们进行编程
    用户指南: www.ti.com/.../slau208
    代码示例: www.ti.com/.../slac375

    此致、
    Andre
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我是说 cc3100、我将在工作站模式下运行它。 我已经开发了一款使用 msp430f5419A 的器件、我需要通过使用 wifi 的移动应用来控制器件、那么、通信 SPI、UART 或 I2C 的更好方法是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Karuna、

    通信接口取决于您的应用要求。
    UART 和 I2C 需要两条通信线路、SPI 最少需要三条(芯片选择四条)
    SPI 具有更高的数据速率(10Mbps- 20Mbps)、I2C 具有不同的型号(100、400、1000、3400 Kbps)、UART 最大230-400Kbps
    UART 是异步的,SPI 和 I2C 是同步的
    UART 仅在两个器件之间,SPI 和 I2C 通过总线接口在多个器件之间。

    TI 为 MSP430F5529、MSP-EXP430F5529LP 提供 Launchpad。 与 CC3100BOOST Booster Pack 一起、您可以查看通信接口。 LaunchPad 和 Booster Pack 通过 SPI 进行通信。

    另请查看有关 launchpad 和 Booster Pack 生态系统的以下信息: www.ti.com/.../slat152

    此致、
    Andre
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢! 我想使用 UART、因为它仅位于两个器件(cc3100和 msp430f5419a)之间、在哪里可以获得此类连接的任何代码示例?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Karuna、

    请查看以下链接:
    对于 CC3100: www.ti.com/.../cc3100sdk
    对于 MSP430F5419A: www.ti.com/.../slac375

    此致、
    Andre
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢。 我找到了使用 msp5310f5419a 和 cc3100的 UART 进行编码的方法。 那么、我需要将 msp4305419a 的 TXD/RXD 连接到 cc3100的 RXD/TXD、并将 NHIB 连接到 msp430f5419a 的 GPIO 吗? 为了发送 IRQ、GPIO 引脚应该被设定为高电平或者低电平? 一旦 IRQ 被发送并被确认、数据传输是否开始?



    以下是仍未决定输出的代码部分:

    int main (空)

    WDTCTL = WDTPW + WDTHOLD;//停止 WDT

    P3SEL = BIT4 + BIT5; // P3.4、5 = USCI_A0 TXD/RXD

    //选择 SMCLK
    UCA0CTL1 |= UCSSEL_2 + UCSWRST;// USCI 时钟= SMCLK、USCI_A0被禁用;
    //波特率9600 (SMCLK = 1MHz)
    UCA0BR0 = 104; // 1MHz 9600
    UCA0BR1=0; // 1MHz 9600
    //调制 UCBRSx = 1.
    UCA0MCTL = UCBRS0;
    //初始化 USCI 状态机

    //启用 USCI_A0 Rx 中断
    UCA0MCTL |= UCBRS_1 + UCBRF_0; //调制 UCBRSx=1、UCBRFx=0
    UCA0CTL1 &=~UCSWRST;//清除 UCSWRST 以启用 USCI_A0 //**初始化 USCI 状态机**
    UCA0IE |= UCRXIE; //启用 USCI_A0 RX 中断

    _bis_SR_register (CPUOFF + GIE);//输入 LPM0、带 int 直到字节 RXed
    while (1)


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

    您好、Karuna、

    在您的示例中、您没有中断服务例程(ISR)来为您的接收中断提供服务。 请参阅以下 MSP430 F5xx 代码示例中的代码。  

    您不需要特殊的 GPIO、只需要 TX 和 RX。

    如果发送字节、请务必等到 TX 缓冲区被清除。

    while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX 缓冲器就绪? 

    这是 msp430x54xA_uscia0_UART_01.c 示例

    //
    // MSP430F543xA 演示- USCI_A0、115200 UART Echo ISR、DCO SMCLK
    //
    说明:回显接收到的字符、使用 RX ISR。 正常模式为 LPM0。
    // USCI_A0 RX 中断触发 TX 回波。
    //带有1048576hz 的波特率分频器= 1048576/115200 =~9.1 (009h|01h)
    // ACLK = REFO =~32768Hz,MCLK = SMCLK =默认 DCO = 32 x ACLK = 1048576Hz
    //请参阅用户指南了解波特率分频器表
    //
    MSP430F5438A
    // --------
    // /|\| |
    // || |
    // -|RST |
    // | |
    // | P3.4/UCA0TXD|--- >//
    | | 115200 - 8N1
    // | P3.5/UCA0RXD|<---
    //
    // M. Morales
    // Texas Instruments Inc.
    // 2009年6月
    //使用 CCE 版本:3.2.2和 IAR Embedded Workbench 版本:4.11b
    //*********
    
    #include 
    
    int main (void)
    {
    WDTCTL = WDTPW + WDTHOLD; //停止 WDT
    
    P3SEL = 0x30; // P3.4、5 = USCI_A0 TXD/RXD
    UCA0CTL1 |= UCSWRST; //**将状态机复位**
    UCA0CTL1 |= UCSSEL_2; // SMCLK
    UCA0BR0 = 9; // 1MHz 115200 (请参阅用户指南)
    UCA0BR1 = 0; // 1MHz 115200
    UCA0MCTL |= UCBRS_1 + UCBRF_0; //调制 UCBRSx=1、UCBRFx=0
    UCA0CTL1 &=~Ω UCSWRST; //**初始化 USCI 状态机**
    UCA0IE |= UCRXIE; //启用 USCI_A0 RX 中断
    
    __bis_SR_register (LPM0_bits + GIE); //输入 LPM0,启用中断
    _no_operation (); //对于调试
    器}
    
    //回显 RXed 字符,确认 TX 缓冲区已准备就绪#if
    defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
    #pragma vector=USCI_A0_vector
    __interrupt void USCI_A0_ISR (void)
    #Elif defined (__GNC_ISR_)(
    void
    
    )#USCI_A0 (void)(void USCI_0_A0)(void)(void)(void)#USCI_ISR (void)
    #endif
    {
    switch (__even_in_range (UCA0IV、4))
    {
    case 0:break; //向量0 -无中断
    情况2: //向量2 - RXIFG
    while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX 缓冲器就绪?
    UCA0TXBUF = UCA0RXBUF; // TX -> RXed 字符
    中断;
    案例4:中断; //向量4 - TXIFG
    默认值:break;
    }
    
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我不想发送字节、我想接收字节、那么 msp430f5419a 会根据接收到的字节工作吗? 对于示例,如果我从应用程序收到风扇,我想打开风扇吗? 针对这种情况、什么是 hte ISR?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看此应用手册。 http://www.ti.com/lit/slaa294 -用于 MSP430 MCU 的软件编码技术。
    关键是在 ISR 中设置标志。 原则上、您希望 ISR 尽可能短、因为在更复杂的系统中、来自其他源(例如 ADC、计时器、DMA 等)的中断可能会随时发生、您不希望错过它们。

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

    您还有其他问题吗? 如果没有、请在上面的线程中选择"已解决"、以便可以将其关闭。
    非常感谢!

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

    我想您可以继续使用您的应用程序、因为您不再回复、所以我将关闭此帖子。
    如果您需要进一步的帮助、请随时再次进行评论、它将重新打开主题帖。

    此致、
    Andre