projects
/
goodfet
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed USB host bugs.
[goodfet]
/
firmware
/
lib
/
msp430f2618.c
diff --git
a/firmware/lib/msp430f2618.c
b/firmware/lib/msp430f2618.c
index
f0868f5
..
8f20ad2
100644
(file)
--- a/
firmware/lib/msp430f2618.c
+++ b/
firmware/lib/msp430f2618.c
@@
-1,13
+1,14
@@
//! MSP430F2618 clock and I/O definitions
// Included by other 2xx ports, such as the 2274.
//! 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 "platform.h"
#include "dco_calib.h"
-#include <msp430.h>
-#include <sys/crtld.h>
//! Receive a byte.
//! Receive a byte.
@@
-26,10
+27,12
@@
unsigned char serial0_rx(){
unsigned char serial1_rx(){
char c;
unsigned char serial1_rx(){
char c;
+#ifdef useuart1
while (!(UC1IFG&UCA1RXIFG)); // USCI_A1 TX buffer ready?
c = UCA1RXBUF;
UC1IFG&=~UCA1RXIFG;
while (!(UC1IFG&UCA1RXIFG)); // USCI_A1 TX buffer ready?
c = UCA1RXBUF;
UC1IFG&=~UCA1RXIFG;
-
+#endif
+
return c;
}
return c;
}
@@
-41,16
+44,11
@@
void serial0_tx(unsigned char x){
}
//! Transmit a byte on the second UART.
void serial1_tx(unsigned char x){
}
//! 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));
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
}
}
@@
-85,6
+83,7
@@
void setbaud0(unsigned char rate){
//! Set the baud rate of the second uart.
void setbaud1(unsigned char rate){
//! 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
//Table 15-4, page 481 of 2xx Family Guide
switch(rate){
case 1://9600 baud
@@
-109,6
+108,7
@@
void setbaud1(unsigned char rate){
UCA1BR1 = 0x00;
break;
}
UCA1BR1 = 0x00;
break;
}
+#endif
}
#define BAUD0EN 0x41
}
#define BAUD0EN 0x41
@@
-139,6
+139,8
@@
void msp430_init_uart(){
//Interrupt is handled by target code, not by bootloader.
//IE2 |= UCA0RXIE; //DO NOT UNCOMMENT
//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;
// Serial 1 on P3.6, 3.7
P3SEL |= 0xC0;
//UCA1CTL0 = 0x00;
@@
-146,7
+148,7
@@
void msp430_init_uart(){
setbaud1(5); //115200
UCA1MCTL = 0;
UCA1CTL1 &= ~UCSWRST; // Initialize USCI state machine
setbaud1(5); //115200
UCA1MCTL = 0;
UCA1CTL1 &= ~UCSWRST; // Initialize USCI state machine
-
+ #endif
}
}