#include  <msp430x16x.h>
#include  <stdio.h>

//static char string1[] = { "AT+En=0\r" };
//static char string1[] = { "A" };
static char string1[] = { "AT\r" };

char i;

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog
  P3SEL = 0x30;                             // P3.4,5 = USART0 TXD/RXD
  ME1 |= UTXE0 + URXE0;                     // Enabled USART0 TXD/RXD
  UCTL0 |= CHAR;                            // 8-bit character, SWRST=1
  UTCTL0 |= SSEL0;                          // UCLK = ACLK
  UBR00 = 0x03;                             // 9600 from 32.768 kHz
  UBR10 = 0x00;                             //
  UMCTL0 = 0x4A;                            // Modulation
  UCTL0 &= ~SWRST;                          // Initialize USART state machine
  IE1 |= URXIE0;                            // Enable USART0 RX interrupt
  IFG1 &= ~UTXIFG0;                         // Clear inital flag on POR
 
  while(1){ 
  i = 0;
  while (i < sizeof string1-1)
  {
    TXBUF0 = string1[i++];
  }
}
}

// UART0 RX ISR
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
  if (RXBUF0 == 'A')                        // 'A' received?
  {
    printf ("A");
  }
  if (RXBUF0 == 'T')                        // 'T' received?
  {
    printf ("T\n");
  }
  if (RXBUF0 == 0x0A)
  {
    printf ("OK\n");
  }
}
