MATLAB解析GPS数据程序

MATLAB解析GPS数据程序

ID:47326894

大小:22.13 KB

页数:17页

时间:2020-01-10

MATLAB解析GPS数据程序_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《MATLAB解析GPS数据程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.%注:本程序可直接在MATLAB2017a中运行%该脚本文件用于学习GPS数据的读取,需要做其他用途请自行修改代码%本脚本文件的前面几行代码是要设置的一些参数%默认使用COM3(需视情况修改)%波特率设为GPS模块默认的38400%下面为程序源码clearnum_execute=100;%执行次数num_SingleRead=150;%单次从串口读取的字节数(最好设置足够大(最低大概设为80),保证单次读取的数据包含一条完整的GPS数据)Timedelay=0.2;%用于延时读取串口数据BaudRate=38400;%读取数据的波特率Terminator='CR';

2、num_MaxTry=5;%打开串口的最多尝试次数BytesAvailableFcnCount=1000;%%设置参数%delete(instrfindall);%串口打开失败时使用此句%delete(s);clears%串口打开失败时使用此句serial3=serial('COM3');%串口设置serial3.BytesAvailableFcnMode='byte';%serial3.InputBufferSize=38400;%输出波特率serial3.BaudRate=BaudRate;%读入波特率%serial3.OutputBufferSize=1024;

3、serial3.BytesAvailableFcnCount=BytesAvailableFcnCount;serial3.ReadAsyncMode='continuous';serial3.Terminator=Terminator;%%打开串口count_opentimes=1;..whilecontains(serial3.status,'closed')>0&&count_opentimes

4、3.status,'open')<1disp('opencomfailed!');returnend%%读取并处理数据%初始化GPS_Data=GPS_Init();while(num_execute>0)GPS_DataStrs=fread(serial3,num_SingleRead,'char');%一次读出10个字符GPS_DataStrs=reshape(GPS_DataStrs,1,[]);GPS_DataStrs=split_str2strs(GPS_DataStrs);GPS_Data_tmp=get_GPS_specificData(GPS_Data

5、Strs);GPS_Data=Updata_GPU_Data(GPS_Data,GPS_Data_tmp);show_GPS_Data(GPS_Data);pause(Timedelay);%延时num_execute=num_execute-1;end%fprintf(s,'abcd');%给串口的发送数据%fscanf(s);%从串口的接收缓存读数据%%关闭串口并删除相关数据fclose(serial3);%关闭串口delete(serial3);clearserial3..%%%将字符串根据'r'划分成多个子字符串,同时去掉首尾无用的残余字符串functi

6、onout_strs=split_str2strs(StrData)ifcontains(class(StrData),'char')uint8(StrData);endrecord=get_pos_enterflag(StrData);ifStrData(1)==uint8('$')%开头为'$'的情况flag_start=1;elseifsize(record,2)>0flag_start=record(1)+2;elseout_strs=cell(0,0);returnendendifStrData(end)==13flag_end=length(StrData

7、)-1;elseifsize(record,2)>0flag_end=record(end)-1;endendifflag_start>=flag_endout_strs=cell(0,0);returnend..StrData=StrData(flag_start:flag_end);%截取有效数据,方便下面划分子字符串record=get_pos_enterflag(StrData);num_strs=size(record,2)+1;out_strs=cell(num_strs,1);ifnum_strs>1out_strs{1,1}=char

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。