HotComm之GPS零耗时解码方案与实现方法
由于HotComm采用数据流间隙的线程解码,故在数据流到包尾后校验和已得出。 立即可知是否为GPS有效数据。
再深层次分析: 由于NMEA0183语句是由“字符串数组”组成的,故HotComm可以轻松地在遇到 ‘,’或'*'时,先将计算校验和后立即将其强行写入‘\0',这样就 转换成了以零字符组成的不等长“无头字符串数组”。
所以只要设置N维(强行写入‘\0'的个数)字符串数组指针即可。 这样HotComm就可在Input()中返回该指针和项数(数组维数)就搞定了~~~
访问如同GpsArray[0] == "GPRMC";GpsArray[1] == "030545"; 可惜最近菜农不用GPS~~~否则一定将此思路移植到HotComm中~~~
再再深层次,可以设置结构指针~~~这样可以将数字和字符直接分离,免得再进行繁重 的类型转换问题~~~例如东8区和海里问题~~~
菜农HotPower@126.com 2008.7.12 于西安大雁塔菜地. |