我刚刚获得了一个新的GPS来处理我的项目,我在查看数据方面遇到了一些困难。 GPS连接正常并且安装正确,每当我使用lsusb时,我都会看到它已连接。我的问题是我正在尝试编写一个代码来读取来自GPS的消息任何人都可以帮助我如何在c ++上听它这是我的接收器的链接http://www.navilock.de/produkte/G_60109/merkmale.html?setLanguage=en
提前致谢:)。
答案 0 :(得分:1)
安装名为minicom的程序。使用minicom打开GPS接收器的设备节点。使用38400/8 / N / 1(在您的接收器链接中指定38400;其他值是猜测。)作为通信参数。执行此操作后,您应该看到一个文本字符流。你可能不理解它们,但它们应该是可识别的字符。验证连接后,请关闭minicom。
然后,检查NMEA协议标准的副本,以了解如何解析此数据流。
最后,做一些关于如何将POSIX的termios结构与文件描述符和普通的open(),close(),read()和write()函数结合使用的阅读。然后,您将能够在程序中接收数据流并解析NMEA消息。
作为旁注,大多数接收器还具有可用于公开更多功能的二进制协议,但NMEA解析器在接收器之间将更易于移植。
另一个注意事项,GPSD已经处理了很多这样的事情并公开了一个C接口,所以你永远不需要编写解析代码。