我无法将标签记录到串行端口

时间:2014-08-01 13:17:41

标签: string gps serial-port arduino

我不明白为什么在我的程序中,串行日志的某些输出行很好,而有些输出似乎没有。

出于某种原因,其中一个标签永远不会被写出来。我尝试移动println语句,然后忽略不同的标签。我发现有效的线条和不用的线条之间没有任何区别。

https://gist.github.com/ledlogic/726ec7105ee5cc41f3cd

的档案中

前两个标签可以使用,但不是Latitude标签。

  ...

  Serial.print("UTC Time(HHMMSS): ");
  Serial.print(time);    // Time returns the UTC time (GMT) in HHMMSS, 24 huor format (H-Hour; M-Minute; S-Second)
  Serial.println("");
  Serial.println("");

  Serial.print("Latitude: ");
  Serial.print(lat, 6);    // Latitude - in DD.MMSSSS format (decimal-degrees format)  (D-Degree; M-Minute; S-Second)
  Serial.println("");
  Serial.println("");

  ...

串行监视器的输出(9600波特)/私有化:

  UTC Date(DDMMYY): 10814

  UTC Time(HHMMSS): 131539

  44.9*****

  Longitude: -92.5*****

也许你会看到一个明显的禁忌 - 我只是不知道Arduino代码。

1 个答案:

答案 0 :(得分:2)

丢失的打印通常是由于RAM耗尽造成的。特别是当它们依赖于位置时。 (See this here

#include <MemoryFree.h>; 

并将以下内容放入设置中。

Serial.println(F("Free RAM = ")); //F function does the same and is now a built in library, in IDE > 1.0.0
Serial.println(freeMemory(), DEC);  // print how much RAM is available, at this specific moment.

我怀疑dGPS.h以及SD.h是否最让你失望。