开发工具:DEV
NMEA协议基础知识可参见:GPS理论知识NMEA 0813协议
为完成课程设计而参照网上例子,按照课程要求修改而来
1、在搜集资料过程中发现网上很多都不完整,而且有的会有很多小错误,无法有效运行,自己调试后做了一些修改,能成功运行。
2、因为是上个学期的作业,有些细节不太记得了,但是代码里有修改的地方我都有注释,大家可以参照这些代码段根据自己的需求构建程序。
3、完整工程可以私信我,留下邮箱,看到就会第一时间发送。 加上网盘链接吧,里面还附了DEV(免安装的)
baidu链接
提取码:axpl
4、有错误的地方也希望大家能够指正。
系列二:解析报文
这一段隐藏的问题比较多,修改的原因注释在旁边
(关注细节之前,最好先搞清楚它的流程,这样可以准确发现问题所在)
/******************************************************************************
* Function - Relative address offset
* Purpose - 计算第cx个逗号的相对地址偏移量
* Description - buf为字段的起始地址
*****************************************************************************/
u8 NMEA_Comma_Pos(u8 *buf,u8 cx)
{
u8 *p=buf;
while(cx)
{
if(*buf=='*'||*buf<' '||*buf>'z')/*排除*和非法字符*/
{
return 0XFF;
}
if(*buf==','){
cx--;}
buf++;
}
return buf-p;/*相对地址偏移量*/
}
/******************************************************************************
* Function - Relative address offset
* Purpose - 计算每个语句结束符*的相对地址偏移量
* Description - buf为字段的起始地址
**************************************************************************/
u8 NMEA_End_Pos(u8 *