GPS解码其实超简单,一般GPS模块只要上电了就会不停的发包,你随便接下来几个包看看就明白了
参见nmea协议,大部分人有用的包就是一个$GPRMC开头的字符串
把里面UTC时间加8换成东八区时间,再把里面经纬度速度啊高度啊什么的龟龟都memcpy了就完成了!
详见下面代码,小学生也能做的出来
void Gps_info_out()
{
while((Receivedata_temp.Find(0x0d)!=-1)&&(Receivedata_temp.Find(0x0a)!=-1))
{
BOOL up_jw=1;//是否刷新经纬度
BOOL up_date=1;//是否刷新日期
int startLF=Receivedata_temp.Find(0x0a);
int endCR=Receivedata_temp.Find(0x0d);
if(startLF>endCR)
endCR=Receivedata_temp.Find(0x0d,startLF);
CString msg= Receivedata_temp.Mid(startLF+1,endCR-startLF-1);
Receivedata_temp.Delete(0,endCR+1);
if(msg.Left(6).Compare(_T("$GPRMC"))!=0)//判断报头
{
continue;
}
msg.Delete(0,msg.Find(',')+1);
wchar_t * pTime&