安卓对一堆数据进行NMEA数组校验后进行解析
时间: 2024-02-05 15:02:52 浏览: 85
nmea.rar_GPS信号解析_GPS数据处理_NMEA解析_数据解析_解析nmea
NMEA(National Marine Electronics Association)是一种标准的串口通信协议,主要用于GPS设备和其他导航设备之间的通信。在安卓中,我们可以通过串口通信接收到NMEA数据流,然后进行校验和解析。
NMEA数据流的每个语句都以"$"开头,以回车和换行符"\r\n"结尾。校验和位于语句末尾,格式为"*HH",其中HH是两个十六进制数字,表示校验和的值。
要对NMEA语句进行校验,需要将"$"后面的所有字符(不包括"*"和校验和)进行异或运算,计算出一个校验和值。然后将校验和值转换为两个十六进制数字,并与语句中的校验和进行比较,如果相等则表示校验通过,否则校验失败。
例如,对于一个NMEA语句"$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47\r\n",我们需要对"GPFGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,"进行异或运算,得到一个校验和值,然后将该值转换为十六进制,得到"47"。最后将"47"与语句中的校验和"*47"进行比较,如果相等则表示校验通过。
解析NMEA语句需要根据语句类型和语句中的字段进行解析。不同类型的语句包含的字段不同,可以参考NMEA协议文档进行解析。常见的NMEA语句类型包括$GPGGA(GPS定位信息)、$GPGSA(GPS DOP和活动卫星信息)、$GPGSV(可视卫星信息)等。
阅读全文