This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F5529:NeoGPS 6m Not Working - IICDC 2017

Guru**** 2535750 points
Other Parts Discussed in Thread: MSP430F5529, ENERGIA

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/688824/msp430f5529-neogps-6m-not-working--iicdc-2017

器件型号:MSP430F5529
主题中讨论的其他器件: Energia

我 将 MSP430F5529微控制器用于我的项目。 我需要将 NEO 6m GPS 模块与其连接。 使用 Energia IDE 对控制器进行编码。 当我运行下面的代码时、软件串行不会返回任何值。 有人能帮我解决这个问题吗? 请!!!!

#include
#include

静态常量 int RXPin = 4、TXPin = 3;
静态常量 uint32_t GPSBaud = 9600;

// TinyGPS++对象
TinyGPSPlus GPS;

//到 GPS 设备的串行连接
软件串行 ss (RXPin、TXPin);

void setup()

Serial.begin(115200);
ss.begin(GPSBaud);

serial.println (F)(" DeviceExample.ino"));
serial.println (F ("带有附加 GPS 模块的 TinyGPS++的简单演示");
serial.print (F ("测试 TinyGPS++库 v."));serial.println (TinyGPSPlus::库版本());
serial.println(F("by Mikal Hart");
serial.println();

void loop()

//每次正确编码新句子时,此 sketch 都会显示信息。
while (ss.available ()>0)
if (gps.encode (ss.read())))
displayInfo();

if (millis ()> 5000 && gps.charsProcessed ()< 10)

serial.println (F ("未检测到 GPS:检查接线。"));
while (true);

空显示信息()

serial.print (F ("位置:"));
if (gps.location.IsValid())

serial.print (gps.location.lat ()、6);
serial.print (F ("、"));
serial.print (gps.location.lNG()、6);

其他

serial.print (F ("无效"));

serial.print (F ("日期/时间:"));
if (gps.date.IsValid())

serial.print (gps.date.month());
serial.print (F ("/"));
serial.print (gps.date.day ());
serial.print (F ("/"));
serial.print (gps.date.ye());

其他

serial.print (F ("无效"));

serial.print (F ("));
if (gps.time.IsValid())

如果(gps.time.hour()< 10) Serial.print (F ("0"));
serial.print (gps.time.hour());
serial.print (F (":"));
如果(gps.time.minut()< 10) Serial.print (F ("0"));
serial.print (gps.time.minut());
serial.print (F (":"));
if (gps.time.second ()< 10) Serial.print (F ("0"));
serial.print (gps.time.second());
serial.print (F ("."));
如果(gps.time.dursecond()<10) Serial.print (F ("0"));
serial.print (gps.time.gonds());

其他

serial.print (F ("无效"));

serial.println();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我对 Energia 不是很了解、尤其是什么(Launchpad?) 引脚应用于"3"和"4"。

    我假设您已(重新)检查了您的接线? (TX->RX 在两个方向上?)

    下一步可能是将"GPS"部分放在一边,只显示从 ss.read()输出到 Serial 的所有内容。 数据流可能存在一些简单的错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已正确连接

    TX->RX  

    Rx->TX

    很抱歉、我发送了错误的代码、正确的代码是

    静态常量 int RXPin = P3_7、TXPin = P8_2;

    但是、错误仍然存在、是否有人可以为我提供 solution..please!!!!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Balaji、
    这些引脚上没有 UART。 您将需要使用引脚3.4和3.3。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Balaji、
    这是否解决了您的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道软件串行在 launchpad 上是否正常工作、但它不使用 UART、因此称为"软件"串行。

    查看 Serial1是否连接到其中一个硬件 UART。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您在43oh 上的 Energia 论坛上提问。