資源簡介
基于matlab的GPS數(shù)據(jù)讀取,使用的是HOLUX的M-215+,主要讀取的GPRMC格式的,其他數(shù)據(jù)依法可推,以供參考
代碼片段和文件信息
delete(instrfindall);?%delete?all?the?serial?port?that?may?be?in?use
clear?all;
close?all;
clc;
s?=?serial(‘com6‘);?%choose?the?serial?port
s.BaudRate?=?4800;?%for?m-215+?baudrate?must?be?set?as?4800
s.Terminator?=?‘CR‘;
s.InputBufferSize?=?1024;
s.OutputBufferSize?=?1024;
s.ReadAsyncMode?=?‘continuous‘;
fopen(s);
buf?=?fread(s);
buf?=?buf‘;
Vel_Int?=?[];
Vel_Dec?=?[];
Vel?=?[];
Col_Num?=?0;
index_line?=?[];
i_RMC?=?0;
%------------------Seperate?the?GPS?data?to?multi?lines-----------
a?=?find(buf?==?13);b?=?find(buf?==?10);
for?i?=?1:length(a)
????buf(i)?=?[];
end
for?i?=?1:length(b)
????buf(i)?=?[];
end
index_line?=?find(buf==‘$‘);%find?the?‘$‘?as?the?mark?to?a?new?line
%?index_line?=?[1index_line];
for?i?=?1:length(index_line)-1??%determine?the?column?number?of?buf2
????a?=?index_line(i+1)-index_line(i);
????if?Col_Num?????????Col_Num?=?a;
????end
end
Col_Num?=?Col_Num?+?1;
buf2?=?zeros(length(index_line)Col_Num);%save?the?GPS?data?after?seperated
for?i?=?1:length(index_line)-1
????buf2(i1:index_line(i+1)-
評論
共有 條評論