标题: 我的单片机程序读不出来GPS经纬度信息,如何调试? [打印本页]

作者: 松坂桃李    时间: 2023-3-20 22:38
标题: 我的单片机程序读不出来GPS经纬度信息,如何调试?
请问有没有大佬对GPS模块熟悉的啊?可以帮我看看为什么我的程序读不出来GPS经纬度信息吗?
我用的是stm32f103c8t6做主控,GPS选的是ublox-NEO-6m,需要把经纬度显示在OLED屏幕上面,但是死活读不出来数据。
跪求!

作者: Y_G_G    时间: 2023-3-20 23:31
求知识不丢人,不用跪
主要还是要看GPS的数据输出协议是什么,只要是NMEA0183 协议,不管你是什么GPS模块,它程序基本就是通用的
作者: 人中狼    时间: 2023-3-21 07:55
在室内没有延长天线的话没法定位的
作者: yuxuesuixing    时间: 2023-3-21 08:45
gps模块都配有上位机软件,写一个简单的程序 将gps输出的信息通过另一个串口转发到电脑,第一看下数据格式是不是有问题,第二用上位机软件解算看搜星状态定位状态。

如果转发信息乱码 直接将gps模块接到电脑上,看数据格式再次解算。

debug的方法都是逐渐缩减变量范围,而且一般都是硬件优先于软件,比如检查供电电压 纹波之类的。

当然写程序也一样每个模块都是先写测试程序模块再逐步增加并测试功能,注意写轮子的时候一定注意入参出参,而且每个模块的都做历史备份,即使出问题了能迅速定位故障点
作者: li64331218    时间: 2023-3-21 09:28
一般先检查硬件问题,如果正常了再查看程序部分。程序也是分步检查。先看OLED是否正常显示。在看GPS模块输出是否正常。(对应的串口通讯),在看数据解析是否正常。串口的波特率设置,数据位,校验位,停止位等等。首先检查通讯链路。
作者: coody_sz    时间: 2023-3-21 09:56
单片机不用读GPS模块的,只需要用串口接收GPS模块发出的报文即可,非常简单,就是一个串口接收程序而已!然后将你要显示的内容显示到OLED屏上。
作者: 暖西夏    时间: 2023-3-21 10:44
你说的这个GPS模块是串口通信的,先确定模块没问题,其次用单片机写一个串口的中断函数,把数据接收过来,最终在做数据处理,把自己想要的数据取出来,然后在考虑显示在oled上
作者: 天ノ忆    时间: 2023-3-22 10:34
真实的位置信息就是你读的那个,对照百度地图之类的查看是肯定对不上的,不然导弹直接照地图设置坐标算了
作者: wwh2382    时间: 2023-3-22 10:57
GPS模块是通过串口输出数据的,并不需要你去读。要想知道模块好坏,接串口助手之类的工具,设置波特率,正常的话就能收到数据




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1