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复用配错了。谢谢!