« Return to Thread: MSP430F1611 - UART

MSP430F1611 - UART

by Sebastian Popa :: Rate this Message:

Reply to Author | View in Thread

Hi all,

I am trying to get the UART mode working. My setup is:
 - MSP-TS430PM64 (with the optional 32 kHz external crystal oscillator
installed)
 - MPS-FET430UIF Debug-Interface
 - Code Composer Esentials 3
 - a level converter for RS232
(http://www.tildesign.nl/rs232_ttl_converter-20107101P2N))
 - and a one-to-one serial cable

I am using the sample code from TI.

However, I do get stuck in the do{}while loop of clearing
OSCFault flag.
Does anyone know why this is??


Further more, commenting out the do{}while the transmission of data
also gets stuck after the first character is set in the transmit
register. (I am using hyperterminal to connect to my serial port)

#include <msp430x16x.h>

int main(void)
{
  volatile unsigned int i;

  WDTCTL = WDTPW + WDTHOLD; // Stop WDT
  P3SEL |= 0x30;            // P3.4,5 = USART0 TXD/RXD
  BCSCTL1 |= XTS;           // ACLK = LFXT1 = HF XTAL
 
  do
  {
    IFG1 &= ~OFIFG;             // Clear OSCFault flag
    for (i = 0xFF; i > 0; i--); // Time for flag to set
  }
  while ((IFG1 & OFIFG)); // OSCFault flag still set?
 
  UCTL0 |= SWRST;    // USART logic held in reset state
  BCSCTL2 |= SELM_3; // MCLK = LFXT1(safe)
  ME1 |= UTXE0;      // Enabled USART0 TXD (2^7 = 128 = 0x80)
  UCTL0 |= CHAR;     // 8-bit character
  UTCTL0 |= SSEL0;   // UCLK = ACLK
  UBR00 = 0x45;      // 8MHz 115200
  UBR10 = 0x00;      // 8MHz 115200
  UMCTL0 = 0x00;     // 8MHz 115200 modulation
  UCTL0 &= ~SWRST;   // Initalize USART state machine
 
  while(1)
  {
    while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready?
    TXBUF0 = 0x41;
  }
 
  return 0;
}



 « Return to Thread: MSP430F1611 - UART

LightInTheBox - Buy quality products at wholesale price!