Hi,
I'm trying to clock the CPU (MSP430F1611) to 8,000,000 Hz and I've run into some problems. Making the CPU to actually run at 8MHz was easy enough:
DCOCTL = DCO0 + DCO1 + DCO2; /* 0xE0 */ BCSCTL1 = XT2OFF + RSEL0 + RSEL1 + RSEL2; /* 0x87 */
However, the UART1 stopped working. What I've got so far is:
void uart1_init( unsigned int ubr ) { /* RS232 */ P3DIR &= ~0x80; /* Select P37 for input (UART1RX) */ P3DIR |= 0x40; /* Select P36 for output (UART1TX) */ P3SEL |= 0xC0; /* Select P36,P37 for UART1{TX,RX} */
UCTL1 = SWRST | CHAR; /* 8-bit character, UART mode */
U1RCTL &= ~URXEIE; /* even erroneous characters trigger interrupts */
UTCTL1 = SSEL1; /* UCLK = MCLK */
/* ubr is 8000000/baud */ UBR01 = ubr; /* assuming 19200 bps: UBR01 = 0xA0; */ UBR11 = ubr >> 8; /* assuming 19200 bps: UBR11 = 0x01; */
/* UMCTL1 calculated using
ME2 &= ~USPIE1; /* USART1 SPI module disable */ ME2 |= ( UTXE1 | URXE1 ); /* Enable USART1 TXD/RXD */
UCTL1 &= ~SWRST;
IE2 |= URXIE1; /* Enable USART1 RX interrupt */ }
What am I missing here? Any help appreciated!
-- Oskar