GPS串口数据解码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GPS串口数据解码

GPS串口数据解码程序 文章发表于:2007-09-28 13:07 bit ReceivingF = 0; bit EndF = 0; bit RMCF = 0; bit GGAF = 0; bit VTGF = 0; bit GSAF = 0; uchar GPS_time[9];?? ??? ?? //UTC时间 uchar xdata GPS_wd[12];?? ??? ?? //纬度 uchar xdata GPS_jd[13];?? ??? ?? //经度 uchar GPS_warn;?? ??? ??? ?? //定位警告 uchar GPS_quality;?? ??? ?? //定位质量 uchar GPS_status;?? ??? ?? //定位状态 uchar GPS_alt[8];?? ??? ?? //海拔 uchar GPS_sv[3];?? ??? ?? //使用卫星 uchar GPS_speed[10];?? ??? ?? //速度 uchar GPS_date[9];?? ??? ?? //UTC日期 ?? ??? ??? ??? ? ? uchar Segment;?? ??? ??? ?? //逗号计数 uchar Bytes_counter; uchar Command; void GPRMC(uchar); void GPGGA(uchar); void GPVTG(uchar); void GPGSA(uchar); void gps(uchar); /****************************************************/ //功能:NMEA-183协议解析 //入口:void //返回:void //全局变更修改:GPS_*,Segment,command,Bytes_counter,NewByteF //修改记录:?? ?2007.8.25 创建 by 54et?? ??? ??? v1 //?? ??? ??? ?2007.8.26? v1.1 修改解码结构 /****************************************************/ void gps(uchar tmp) { ?? ?//com_send_byte(tmp); ?? ?if(tmp == $)//起始标志 ?? ?{ ??? ??? ?Command = 0; ?? ??? ?ReceivingF = 1; ?? ??? ?Bytes_counter = 0; ?? ??? ?Segment = 0;? ??? ??? ??? ?//清空语句段计数器 ?? ??? ?return; ?? ?} ?? ?if(ReceivingF) ?? ?{?? ??? ? ?? ??? ?if(tmp == ,) ?? ??? ?{ ?? ??? ??? ?++Segment; ?? ??? ??? ?Bytes_counter = 0;?? ?//清空段字节计数器 ?? ??? ??? ?return; ?? ??? ?} ?? ??? ?if(tmp == *)//收到结束标志 ?? ??? ?{ ?? ??? ??? ?ReceivingF = 0; ?? ??? ??? ?EndF = 1; ?? ??? ??? ?return; ?? ??? ?} ?? ??? ?if(Segment == 0) ?? ??? ?{ ?? ??? ??? ?if(Bytes_counter == 3) //段0,语句类型判断 ?? ??? ??? ?switch(tmp) ?? ??? ??? ?{ ?? ??? ??? ??? ?case G:Command = 1;//语句类型 $GPGGA ?? ??? ??? ??? ??? ??? ?GGAF = 1; ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?case M:Command = 2;//语句类型 $GPRMC ?? ??? ??? ??? ??? ??? ?RMCF = 1; ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?case T:Command = 3;//语句类型 $GPVTG ?? ??? ??? ??? ??? ??? ?VTGF = 1; ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?case S:break; ?? ??? ??? ??? ?default:Command = 0; //非有效数据类型,终止当前数据接收 ??

您可能关注的文档

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档