2

waspmotesでGPSモジュールを使用していて、そこからデータを取得することができました。しかし、晴れた日には、空がはっきりと見えるので(私は問題ではないと思います)、電源モードをオンに設定できません。

を呼び出すとGPS.setMode(GPS_ON)、電源モードをオンに設定できず、次の呼び出しでフリーズします。gpsConnected = GPS.check();

GPSユニットを無駄に変えてみました。私は次のコードを使用しています。(注:簡潔にするために、不要なコードを削除しました)

void setup()
{
  ACC.ON();
  USB.begin();  // Opening UART to show messages using 'Serial Monitor'

  //Initialize the GPS module
  GPS.ON();  // Turn GPS on
  GPS.setMode(GPS_ON);    // set GPS on
  if(!GPS.pwrMode) USB.println("Was unable to set on the GPS internal power mode.");  //this message gets printed.
  if(!GPS.setCommMode(GPS_NMEA_GGA)) USB.println("Was unable to set the GPS communication mode.");

  // Power up the Real Time Clock(RTC), init I2C bus and read initial values
  RTC.ON();
  ........
}

void loop(){
  //declare the variables
  len, i, j = 0;
  char degree[4] = "", minutes[8] = "", *latitude, *longitude, *altitude;
  uint8_t temperature = 0;
  int8_t fileFound = 0;
  double latitude_dd, longitude_dd;
  byte accOk;

  //check if the GPS has connected to the satellite
  GPS.begin();  // open the uart
  GPS.init();  // Inits the GPS module
  gpsConnected = GPS.check();

  ........
  ........
}

何が起こったのでしょうか?

どんな助けでもありがたいです。

4

2 に答える 2

0

これは、RTC.setTime 関数を使用したことが原因でした。コードでは、ここで見られるように: http://pastebin.com/RmA98MkDの 195 行RTC.setTimeFromGPS()目で、GPS から受信した時刻でボードの時刻を設定していました。これにより、GPS 接続が台無しになり、コードは 1 回だけループしました。ここから詳細な会話を見ることができます: http://www.libelium.com/forum/viewtopic.php?f=16&t=9861

于 2012-12-13T07:10:20.087 に答える