怎样用单片机把GPS的GPRMC信息转换成BCD码?
本帖最后由 lklhzu 于 2014-1-7 09:28 编辑买了台GPS设备,发到服务器上的数据为十六进制的BCD码,这样挺节省流量的,想自己DIY一个定位器玩玩。GPS输出的数据应该为字符串,怎样用单片机把GPS的GPRMC信息(字符串)转换成BCD码?麻烦做过的朋友给个思路。 这还需要什么思路?你自己都说出来了。按照规则转换就是了 建议直接保存有用信息不就行了,BCD的话范围太窄了 STM32_Study 发表于 2014-1-7 09:30
这还需要什么思路?你自己都说出来了。按照规则转换就是了
主要是需要把GPRMC里面的时间、日期、精度、纬度、速度、方向等信息提取出来,然后转换。
1、提取的信息字节长度不是偶数怎么处理?
2、像精度、纬度、速度、方向等里面有小数点,转换的时候要怎么处理? wolyond 发表于 2014-1-7 09:31
建议直接保存有用信息不就行了,BCD的话范围太窄了
想把gps有用信息通过gprs发送出来,转换成BCD码节省流量。 每一个数据都以这个数据最宽长度进行BCD压缩,小于最宽长度前面补零 提取部分,直接根据GPRMC的规则来提取,用逗号分割的。
转换部分,那就要看你服务器那边接收的到底是什么数据规则了。小数点、长度之类的怎么处理是要看你服务器的规则 STM32_Study 发表于 2014-1-7 09:42
提取部分,直接根据GPRMC的规则来提取,用逗号分割的。
转换部分,那就要看你服务器那边接收的到底是什么数 ...
买了一台设备发出来的数据是这样的:59 00 00 02 FA 00 08 06 53 01 01 14 36 39 82 75 00 11 70 82 96 3E 00 01 73 BF FF FB FF FF 00 3B
里面已经把小数点什么的去掉了,每一部分的数据长度都是偶数,感觉他处理的挺不错的。 连你自己都不知道转换规则呀
那建议你这样,把GPS输出的数据和设备发出的数据同时截取保存下来
然后一条一条慢慢对着分析,把规律找出来
只能帮你到这里了 STM32_Study 发表于 2014-1-7 10:23
连你自己都不知道转换规则呀
那建议你这样,把GPS输出的数据和设备发出的数据同时截取保存下来
嗯,谢谢你,我先试试。 一般BCD表示的话可以弄成经度纬度各4个字节这样可以表示ddd ff.fff和dd ff.fff(最高位2个都没用到,可以用最高的bit表示东西南北)。
页:
[1]