C++ 读取C+上的GPS+;

C++ 读取C+上的GPS+;,c++,gps,C++,Gps,我刚买了一个新的GPS用于我的项目,我在查看它的数据时遇到了一些困难。GPS连接良好,安装正确,无论何时使用lsusb,我都能看到它已连接。我的问题是我正在尝试编写一个代码来读取来自GPS的消息,谁能帮助我如何在C++上听它?这是我的接收器的链接。 提前感谢:)。安装一个名为minicom的程序。使用minicom打开GPS接收器的设备节点。使用38400/8/N/1(38400在到接收器的链接中指定;其他值为猜测)作为comms参数。完成此操作后,您应该会看到一个文本字符流。您可能不理解它们,

我刚买了一个新的GPS用于我的项目,我在查看它的数据时遇到了一些困难。GPS连接良好,安装正确,无论何时使用lsusb,我都能看到它已连接。我的问题是我正在尝试编写一个代码来读取来自GPS的消息,谁能帮助我如何在C++上听它?这是我的接收器

的链接。
提前感谢:)。

安装一个名为minicom的程序。使用minicom打开GPS接收器的设备节点。使用38400/8/N/1(38400在到接收器的链接中指定;其他值为猜测)作为comms参数。完成此操作后,您应该会看到一个文本字符流。您可能不理解它们,但它们应该是可识别的字符。验证连接后,关闭minicom

然后,检查协议标准的副本以了解如何解析此数据流

最后,阅读如何将POSIX的struct与文件描述符以及普通的open()、close()、read()和write()函数结合使用。然后,您将能够在程序中接收数据流并解析NMEA消息

作为旁注,大多数接收器也有一个二进制协议,您可以使用它来公开更多的特性,但是NMEA解析器在接收器之间的可移植性更强


另一个注意事项是,它处理了很多这方面的问题,并公开了一个C接口,因此您无需编写解析代码。

您到底被困在哪里了?你的具体问题是什么?谢谢这真的很有帮助,但我不明白你说的使用38400/8N/1是什么意思???@zeyad那么我建议你学习串行通信的基础知识。38400波特,8个数据位,无奇偶校验位,1个停止位。如果你不理解这些东西,你就没有太多机会实现它。它们不是不可能的,只是你需要知道的基本情况。我看到了一个数据流,但我没有认出它们,那里有一些中文和其他格式的字母?@Zeyad检查你的波特率。它必须是38400(根据你发布的链接),可能需要8个数据位,没有奇偶校验,和1个停止位。如果没有,就修改它直到它工作。我真的建议您学习串行通信,因为有一大堆常见但简单的问题,只有知道它们的原因,才能轻松克服。如果你不知道如何使用minicom,试试谷歌。。。