2016-07-15 8 views
1

ubloxチップのシリアルポートからGPSデータを読み込みたいとします。私はNMEA文だけでなく、Rawデータ(MEASX、RAWX、SFRBXのようなメッセージ)も読みたいと思っています。私がシリアルポートをPCに接続し、RealTerm(勝ち)でデータを読み込むだけであれば問題ありません。しかし、私がadruinoでデータを読み込もうとすると、NMEA文が正しく読み込まれますが、生のデータを正確に読み取ることはできません。ここでadruinoでセンサデータ(GPS raw data)を読み込み、SDカードに保存します

私が使用するコードです:

String inData; 

void setup() { 
    Serial.begin(38400); 
} 

void loop() { 
    while (Serial.available() > 0) 
    { 
     char recieved = Serial.read(); 
     inData += recieved; 

     // Process message when new line character is recieved 
     if (recieved == '\n') 
     { 
      //Serial.print("Arduino Received: "); 
      Serial.print(inData); 

      inData = ""; // Clear recieved buffer 
     } 
    } 

} 

任意のアイデアだけで行毎にファイルを読み込むための方法について説明します。私は、問題は私が生データをどのように扱うのか分からないと思う - そのデータをどのように読み込むのか?

ベスト

picture1picture2

答えて

2

あなたはCRをチェックする必要はありません、GPSデバイスは、ブロック単位でデータを送信するので、一つのブロックが行われた場合、通信が閉鎖されると(利用可能) - 記述はもはや真実ではない。 'GPS' と

if (gps.available()) 
{ 
    String Buffer = ""; 
    while (gps.available()) 
    { 
     char GPSRX = gps.read(); 
     Buffer += GPSRX; 

     //Serial.write(gps.read()); 
    } 
    Serial.print(Buffer); 
} 

SoftwareSerialのインスタンスである:

#include <SoftwareSerial.h>  
SoftwareSerial gps(4, 3); // RX, TX 

... 

void setup() 
{ 
    gps.begin(9600); 
    ... 
} 

void loop() 
{ 
    if (gps.available()) 
    { 
     ... 
    } 

    ... 
} 
関連する問題