0

我的 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;   
  }     
}
4

1 回答 1

0

您是否尝试用带有 USB <-> UART 转换器的 PC 替换 GPS?这可以验证 MSP430 中的波特率设置以及接收某些内容的能力。

于 2012-09-14T13:44:37.823 回答