Help!! UART using USCI_A0 with MSP430FG4618

Hello,

This is my first time using msp430 series. I am using the MSP430FG4618 experimenter’s board and I would like to have RS232 communication. After developing my own program, it doesn’t work. Therefore, I tried with the TI sample code.

With the sample code from msp430xG46x_uscia0_uart_9600.c developed by TI, I still cannot transmit signal through RS232 via terminal. I don’t know whether the setting in the program has something wrong or the hardware.

Can anyone give me help? I have tried to debug and the program can actually run into the interrupt.

#include “msp430xG46x.h”

void main(void)

{

volatile unsigned int i;

WDTCTL = WDTPW+WDTHOLD; // Stop WDT

FLL_CTL0 |= XCAP18PF; // Configure load caps

P5OUT&=~BIT1;

P5DIR|=BIT1;

P2SEL = BIT4|BIT5; // P2.4,5 = USCI_A0 RXD/TXD

UCA0CTL1 |= UCSSEL_1; // CLK = ACLK

UCA0BR0 = 0x03; // 32k/9600 - 3.41

UCA0BR1 = 0x00;

UCA0MCTL = 0x06; // Modulation

UCA0CTL1 &= ~UCSWRST; // Initialize USCI state machine

IE2 |= UCA0RXIE+UCA0TXIE; // Enable USCI_A0 RX interrupt

_BIS_SR(GIE);

while(1);

}

// Echo back RXed character, confirm TX buffer is ready first

#pragma vector=USCIAB0RX_VECTOR

__interrupt void USCIA0RX_ISR (void)

{

P5OUT^=BIT1;

UCA0TXBUF = UCA0RXBUF; // TX → RXed character

}

#pragma vector=USCIAB0TX_VECTOR

__interrupt void USCIA0TX_ISR (void)

{

}