我的 UART 配置为 4800 波特率,我无法使用下面粘贴的 UART 代码接收 NMEA 语句(GPS 评估板)。GPS+Terminal 和 UART+Terminal 单独工作正常。但是 GPS+UART ,我永远无法接收任何句子 GPS 默认 buad rate 是 4800
知道UART哪里出了问题吗???
/**
* uart default at 4800 ACLK= 32.768KHz
* @4800 bps
*/
void UART_default(void){
P3SEL = BIT3+BIT4;
UCA0CTL1 |= UCSWRST;
UCA0CTL1 |= UCSSEL_1;
UCA0BR0 = 0x06;
UCA0BR1 = 0x00;
UCA0MCTL |= UCBRS_6+UCBRF_0;
UCA0CTL1 &= ~UCSWRST;
UCA0IE |= UCRXIE;
}
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
volatile char byte;
switch(__even_in_range(UCA0IV,4))
{
case 0:break; // Vector 0 - no interrupt
case 2:
byte= UCA0RXBUF;
if (byte == '\r') {
push_char(byte); // At end of Data transmission
ptr = 0;
}
else{
push_char(byte);
ptr++;
}
break;
case 4:break;
default: break;
}
}