主题中讨论的其他器件: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 上的任何连接? 或者测试上述代码的正确方法是什么?
此致、
曼诺伊