TI中文支持网
TI专业的中文技术问题搜集分享网站

EVM430-FR6047: eUSCI_A1无法收发数据

Part Number:EVM430-FR6047Other Parts Discussed in Thread:MSP430FR6047, , MSP430F5528

将例程msp430fr60x7_euscia0_uart_02.c(此例程是eUSCI_A0)烧录开发板,可以实现数据回显。但我将程序改成eUSCI_A1,发现烧录开发板后无法进入中断,程序如下:

#include <msp430.h>

int main(void)
{WDTCTL = WDTPW | WDTHOLD;// Stop Watchdog// Configure GPIOP1SEL0 &= ~(BIT2 | BIT3);P1SEL1 |= BIT2 | BIT3;// USCI_A1 UART operationPJSEL0 |= BIT4 | BIT5;// For XT1// Disable the GPIO power-on default high-impedance mode to activate// previously configured port settingsPM5CTL0 &= ~LOCKLPM5;// XT1 SetupCSCTL0_H = CSKEY_H;// Unlock CS registersCSCTL2 = SELA__LFXTCLK | SELS__DCOCLK | SELM__DCOCLK;CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1;// Set all dividersCSCTL4 &= ~LFXTOFF;do{CSCTL5 &= ~LFXTOFFG;// Clear XT1 fault flagSFRIFG1 &= ~OFIFG;} while (SFRIFG1 & OFIFG);// Test oscillator fault flagCSCTL0_H = 0;// Lock CS registers// Configure USCI_A1 for UART modeUCA1CTLW0 = UCSWRST;// Put eUSCI in resetUCA1CTLW0 |= UCSSEL__ACLK;// CLK = ACLKUCA1BRW = 3;// 9600 baudUCA1MCTLW |= 0x5300;// 32768/9600 - INT(32768/9600)=0.41// UCBRSx value = 0x53 (See UG)UCA1CTLW0 &= ~UCSWRST;// Initialize eUSCIUCA1IE |= UCRXIE;// Enable USCI_A1 RX interrupt__bis_SR_register(LPM3_bits | GIE);// Enter LPM3, interrupts enabled__no_operation();// For debugger


}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=EUSCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(EUSCI_A1_VECTOR))) USCI_A1_ISR (void)
#else
#error Compiler not supported!
#endif
{switch(__even_in_range(UCA1IV, USCI_UART_UCTXCPTIFG)){case USCI_NONE: break;case USCI_UART_UCRXIFG:while(!(UCA1IFG&UCTXIFG));UCA1TXBUF = UCA1RXBUF;__no_operation();break;case USCI_UART_UCTXIFG: break;case USCI_UART_UCSTTIFG: break;case USCI_UART_UCTXCPTIFG: break;default: break;}
}

JIAHUI GU:

折腾了好久也没搞出来,请问是什么原因造成的?

,

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

,

Cherry Zhou:

您好,代码看起来是没什么问题的,但请问 MSP430FR6047 是在和什么进行通信?另一个 MCU?还是编程器上的反向通道 UART ?

或者说,如果您尝试执行回路 (将 RX 连接到 TX) 并发送一个字节? 如果是回路的话,代码中没有字节被传输。 以及是否连接到 PCB 上的正确位置? 以下为 TX 信号的 PCB:

,

JIAHUI GU:

MSP430FR6047与USB串口调试工具进行通信。我用eUSCI_A0程序就能相互收发。

,

Cherry Zhou:

好的哈,已经跟进给工程师帮您看下了,应该下周工作日内给到您答复。

,

Cherry Zhou:

您好,先跟您确认下,您使用的是 EVM430-FR6047 PCB对吧?

USB 串口端口调试工具,您是指图中显示的 MSP430F5528 HID 桥还是其他的工具?

主串行连接是 eUSCI_A0,它连接到 HID 桥接器通信设备,该设备使用 USS GUI 收发数据。您说可以进行正常收发。

次级串行连接是 eUSCI_A1,它连接到 ez-FET 编程器器件,该器件在 PC 上显示为串行 " 反向通道 " 通信端口。 使用终端应用程序,您可以收发数据。

那么请问您是想要通过 ezFET 串行反向通道将数据从 MSP430FR6047 发送到 PC吗 ?

,

Cherry Zhou:

您好,不知道您的问题是否已解决,我们会先将该帖关闭,如果您的问题还未解决,您请继续提问!

,

JIAHUI GU:

已经搞定了,IO复用配错了。谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » EVM430-FR6047: eUSCI_A1无法收发数据
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1