yystju 发表于 2010-12-10 01:36:03

[求助]GPS输出总是乱码

不知为什么,以前GPS输出是正常的。现在怎么弄都是乱码。

这是乱码的情况:


这是C#的测试代码。用dwn也是一样的。


我是用PC机的串口线直接连接的GPS模块,不知道是不是会有问题。不过以前确实可以使用过。。。

飞凌-alexlee 发表于 2010-12-10 08:08:17

换个波特率呢~

yystju 发表于 2010-12-10 12:24:56

回复 2# 飞凌-alexlee

4800和9600我都试了,虽然乱码的内容不同但是都是乱码。

我记得我买时候你们的支持人员说这个GPS是4800的。

不会坏了8...

这个模块有记忆吗?不会是设置波特率时候设置了其他参数造成的8...

有没有reset的方法阿?

yystju 发表于 2010-12-10 16:24:17

回复 3# yystju

猜中了,把模块上的电池拔下来然后再装上去就好了。

一开始费了很大力气去设置串口的参数,后来发现只要设置波特率就行了。

另外发现咱们这个GPS的高度计算似乎有点儿问题,总飘移。甚至算出负值来了。

经纬度我个人认为是正确的。

yystju 发表于 2010-12-10 17:35:30

回复 4# yystju

非常郁闷的说:GPS的经纬度放到google map API 里边结果和我住的地方差了超过50KM的距离。

用这个导航估计会带来惊喜或者惊栗的。。。

飞凌-fatfish 发表于 2010-12-11 15:26:27

高度需要根据卫星的数量来确定。
google map api未必就对。

yystju 发表于 2010-12-11 22:18:24

回复 6# 飞凌-fatfish

已经知道原因了:GPS数据的格式没有弄明白。我直接把经纬度数据除了个100就放到google map里边了。。。

GPS的经纬度数据是这样的:
经度:DDDMM.MMMM
纬度: DDMM.MMMM
(D是度,M是分)

数据位数是固定的。所以要把度和分分开来读然后把分除以60(就变成了小数)再加上度才是google map上的经纬度数据。

不过也不是完全解决了。改造完的代码弄出来的经纬度,纬度,纬度基本上误差应该在米或者几十米,可是经度差了目测有500米左右。所以目前怀疑是不是原始数据的小数点儿后边的值是不是应该先换算回秒然后再算成度。。。不过。。。我还没弄清楚。。。这种以前一眼就应该能看明白的问题,现在似乎需要拿笔推算推算才能明白了。年岁不饶人啊。

飞凌-alexlee 发表于 2010-12-12 09:36:18

卫星数还是少,找个空旷点的地方做测试~
页: [1]
查看完整版本: [求助]GPS输出总是乱码