【问题标题】:GP-635T GPS module dropping dataGP-635T GPS模块丢数据
【发布时间】:2014-03-29 22:03:49
【问题描述】:

我有一个 GP-635T GPS 模块使用串行连接到我的 Arduino UNO(GPS TX->UNO RX[Pin 0])。

然后我只是读取传入的数据字节一个字节地将它们添加到一个字符串中,当我到达一个换行符时(13)我只是打印完整的数据字符串并为下一次运行重置数据字符串。

代码:

void setup()
{
  Serial.begin(9600);
  Serial.println("Initialized Serial port..");
}

String data = "";

void loop()
{
  while(Serial.available())
  {
    char gpsByte = Serial.read();// Read a byte from the GPS
    data += gpsByte;
    if(gpsByte == 13){
      Serial.print(data);
      data = "";
    }
  }
  delay(100);
}

此代码按原样工作。但这里的问题是我从中得到的数据。

模块使用 NMEA-0183 标准以 1Hz 的频率打印出多条数据线。我不知道它如何决定何时打印什么,因为对于(几乎)完整数据集的超过 5 次“打印”的数据不一致。

例如:

$GPGGA,213948.00,,,,,0,00,99.99,,,,,,*63
$GPGSA,A30                                <--- A30?
$GPGSV,1,1,01,29,,,30*70
$GPGLL,,,,,213948.00,V,N*4F
$GPRMC,213949.00,V,,,,,,,290314,,,N*74
$GPVTG,,,,,,,,,N*30
$GPGGA,213949.00,,,,,0,00,99.99,,,,,,*62
$GPGSA,A,1,,,,PGSV,1,1,01,29,,,30*70      <--- PGSV?
$GPGLL,,,,,213949.00,V,N*4E
$GPRMC,213950.00,V,,,,,,,290314,,,N*7C
$GPVTG,,,,,,,,,N*30
$GPGGA,213950.00,,,,,0,00,99.99,,,,,,*6A

...

$GPGGA,214045SA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,01,29,,,30*70$GPRMC,214046.00,V,,,,,,,290314,,,N*75 <--- Missing linebreak?
$GPVTG,,,,,,,,,N*30
$G00,99.99,,,,,,*63                                        <--- $G00??
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,02,20,,,27,29,,,30*74
$GPGLL,$GPRMC,214047.00,V,,,,,,,290314,,,N*74  <--- Missing data?
$GPVTG,,,,,,,,,N*30
$GPGGA,214047.00,,,,,0,00,99.99,,,,,,*62
$,99.99*30                                   <--- Alot of missing data

我想你明白了,我只有连接到 Arduino 的 GPS。 我尝试使用一些无线模块无线发送数据而没有任何变化。 我曾尝试使用 AltSoftSerial 和 SoftwareSerial,但后者的数据更混乱。 我尝试了不同的波特率,但没有成功。

有人知道为什么会这样吗?该模块是全新的,我不知道它为什么会这样。

注意:我家中的模块没有很好的 GPS 信号,我确实尝试带着它出去看看是否能得到我从大约 3 颗卫星发出的信号,但这并没有改变输出。

【问题讨论】:

    标签: module gps arduino


    【解决方案1】:

    这是一个非常奇怪的问题,当我将延迟从 100 毫秒缩短到 10 毫秒时,问题确实消失了。 它可能必须对缓冲区做一些事情,并且在我开始从中读取字节之前它可能会溢出。

    但是,如果其他人也遇到了同样的问题,缩短循环延迟就可以了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      相关资源
      最近更新 更多