projects
/
goodfet
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Urgent fix for broken GoodFET31 support, result of UART1 definitions.
[goodfet]
/
firmware
/
lib
/
msp430f2618.c
diff --git
a/firmware/lib/msp430f2618.c
b/firmware/lib/msp430f2618.c
index
f0868f5
..
490208f
100644
(file)
--- a/
firmware/lib/msp430f2618.c
+++ b/
firmware/lib/msp430f2618.c
@@
-26,10
+26,12
@@
unsigned char serial0_rx(){
unsigned char serial1_rx(){
char c;
unsigned char serial1_rx(){
char c;
+#ifdef UC1IFG
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
+43,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 UC1IFG
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
+82,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 UC1IFG
//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
+107,7
@@
void setbaud1(unsigned char rate){
UCA1BR1 = 0x00;
break;
}
UCA1BR1 = 0x00;
break;
}
+#endif
}
#define BAUD0EN 0x41
}
#define BAUD0EN 0x41
@@
-139,6
+138,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 UC1IFG
// Serial 1 on P3.6, 3.7
P3SEL |= 0xC0;
//UCA1CTL0 = 0x00;
// Serial 1 on P3.6, 3.7
P3SEL |= 0xC0;
//UCA1CTL0 = 0x00;
@@
-146,7
+147,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
}
}