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.

[参考译文] MSP430F5529:如何测试 UART 示例 MSP430F55xx_uscia0_UART_01.c?

Guru**** 2604225 points
Other Parts Discussed in Thread: MSP-EXP430F5529LP

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/651900/msp430f5529-how-to-test-the-uart-example-msp430f55xx_uscia0_uart_01-c

器件型号:MSP430F5529
主题中讨论的其他器件:MSP-EXP430F5529LP

您好!

我正在尝试在 MSP-EXP430F5529LP Launchpad 上运行以下代码。  

#include

int main (空)

 WDTCTL = WDTPW + WDTHOLD;                //停止 WDT

 P3SEL |= BIT3+BIT4;                      // P3.3、4 = 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 (_GNU_)
void __attribute__((中断(USCI_A0_Vector)) USCI_A0_ISR (void)
其他
错误编译器不受支持!
#endif

 switch (__evo_in_range (UCA0IV、4))
 {
 情况0:中断;                            //向量0 -无中断
 情况2:                                  //向量2 - RXIFG
   while (!(UCA0IFG&UCTXIFG));            // USCI_A0 TX 缓冲器准备就绪?
   UCA0TXBUF = UCA0RXBUF;                 // TX -> RXED 字符
   中断;
 情况4:中断;                            //向量4 - TXIFG
 默认值:break;
 }

示例说明告诉我 UART 将从 PC 的串行端口接收并回显。 我正在使用 CC Studio 中的串行终端。 但我无法接收任何输出。 我是否缺少 Launchpad 上的任何连接? 或者测试上述代码的正确方法是什么?

此致、

曼诺伊

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    确保所有 eZ-FET Lite 跳线均已连接、通过调试器或通过复位 MSP430来运行程序、并使用波特设置为115200的 TeraTerm 或 HyperTerminal 等终端演示 UART 回波示例。

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

    您好!

    我已连接所有 eZ-FET Lite 跳线、包括 RTS、CTS。 我还使用调试中的终端检查串行输入、如下图所示。 我无法接收任何输入。

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

    不需要 RTS/CTS、但感谢您的确认。 您连接的串行 COM 必须与连接后由 MSP-EXP430F5529LP 枚举的应用 UART 相同。

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

    我想我已经使用了 P3.3、4 = USCI_A0 TXD/RXD、它未连接到 USB。 P4、4、5 = USCI_A1 TXD/RXD 连接到与终端通信的 USB。 给出的参考示例仅用于配置 USCI_A0 UART。 从何处获取配置 USCI_A1 TXD/RXD 的示例?

    此致、
    曼诺伊
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    良好的捕获、您应该使用 P4.4/4.5/UCA1。 只需相应地更改 PxSEL 位和 UCA0的所有引用。

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

    它在将 USCI_A0替换为 USCI_A1后的工作方式。 偶数 P3SEL 行应更改为 P4SEL |= BIT4+BIT4;

    此致、
    曼诺伊