//! MSP430F2618 clock and I/O definitions
// Included by other 2xx ports, such as the 2274.
+#include <msp430.h>
+#include <sys/crtld.h>
+
#include "platform.h"
#include "dco_calib.h"
-#include <msp430.h>
-#include <sys/crtld.h>
//! Receive a byte.
unsigned char serial1_rx(){
char c;
+#ifdef useuart1
while (!(UC1IFG&UCA1RXIFG)); // USCI_A1 TX buffer ready?
c = UCA1RXBUF;
UC1IFG&=~UCA1RXIFG;
-
+#endif
+
return c;
}
}
//! Transmit a byte on the second UART.
void serial1_tx(unsigned char x){
+#ifdef useuart1
while ((UC1IFG & UCA1TXIFG) == 0); //loop until buffer is free
UCA1TXBUF = x; /* send the character */
while(!(UC1IFG & UCA1TXIFG));
-}
-
-//! Transmit a byte.
-void serial_tx_old(unsigned char x){
- while ((IFG2 & UCA0TXIFG) == 0); //loop until buffer is free
- UCA0TXBUF = x; /* send the character */
- while(!(IFG2 & UCA0TXIFG));
+#endif
}
//! Set the baud rate of the second uart.
void setbaud1(unsigned char rate){
+#ifdef useuart1
//Table 15-4, page 481 of 2xx Family Guide
switch(rate){
case 1://9600 baud
UCA1BR1 = 0x00;
break;
}
+#endif
}
#define BAUD0EN 0x41
//Interrupt is handled by target code, not by bootloader.
//IE2 |= UCA0RXIE; //DO NOT UNCOMMENT
+
+ #ifdef useuart1
// Serial 1 on P3.6, 3.7
P3SEL |= 0xC0;
//UCA1CTL0 = 0x00;
setbaud1(5); //115200
UCA1MCTL = 0;
UCA1CTL1 &= ~UCSWRST; // Initialize USCI state machine
-
+ #endif
}