首页 > 编程知识 正文

gps经纬度坐标 c语言初学者 gpsGPRMC 经纬度问题

时间:2023-05-06 01:39:37 阅读:187265 作者:427

int GPS _ parse _ line (struct GPS _ t *

{

float lon,lat;

char gps_status;

char n=0,m=0,f=0;

if () buffer[1]=='g ' ) )

(buffer[2]=='P ' )

(buffer[3]=='R ' )

(buffer[4]=='M ' )

(buffer[5]=='C ' ) ) ) (//GPRMC

{

for(n=0; n100; n )

{

if(buffer[n]==',')

{

m;

if(m==2) )。

{

gps_status=buffer[n 1];

() ) ) ) )。

if(m==3) )。

{

if(GPS_status=='a ' )

{

lat=() ) (float ) ) buffer[n 1] ) ) )。

() ) ) ) )。

() ) ) ) )。

if(m==4) )。

{

' n ';

() ) ) ) )。

if(m==5) )。

{

lon=() ) float ) ) buffer[n 1] ) )。

() ) ) ) )。

if(m==6) )。

{

' e ';

() ) ) ) )。

() ) ) ) )。

() ) ) ) )。

() ) ) ) )。

gps-lat=lat;

gps-lon=lon;

返回0;

() ) ) ) )。

intGPS_get(structGPS_t*GPS,float *lon,float *lat ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。)

{

返回0;

() ) ) ) )。

主:

intmain(intargc,char *argv想与人在一起的奇迹) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

{

float lon,lat;

struct gps_t gps;

char *buffer='$GPRMC,013946.00,a,3202.1855,n,11849.0769,e,0.05,218.30,11105,4.5,w,A*20 ';

GPS_parse_line(GPS,buffer,strlen ) ) buffer );

GPS_get(GPS,lon,lat );

printf(lon:%f,lat:%f(n ),lon,lat );

getchar (;

() ) ) ) )。

lat值将为410.000000;

lon值将为477.000000;

调试时gps-lat显示: GPS-lat-1.0737418 e 008浮动

[此帖最后由Rick_gu于2014-5-29 15:40编辑]

搜索更多相关主题帖子:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。