我不明白为什么在我的程序中,串行日志的某些输出行很好,而有些输出似乎没有。
出于某种原因,其中一个标签永远不会被写出来。我尝试移动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代码。
答案 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是否最让你失望。