GPS模块停止工作,无法将模式设置为开启

时间:2012-12-10 08:04:36

标签: arduino

我一直在使用ispmotes上的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();

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

可能发生了什么?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这是由使用RTC.setTime函数引起的。在代码中,可以在这里看到:http://pastebin.com/RmA98MkD,在第195行,RTC.setTimeFromGPS(),我正在设置电路板时间与我从GPS接收的时间。这最终搞砸了GPS连接,代码只循环了一次。您可以在此处查看详细的对话:http://www.libelium.com/forum/viewtopic.php?f=16&t=9861

答案 1 :(得分:0)

你需要简单的测试。首先,确保将TTl输入提供给Tx和rx引脚。如果你上传这个程序它将提供GPS输出字符串。如果你使用RS模块串口输出RS 232输出,正如你所说它不会工作.IT只期待TTl输入

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

}