gpsc语言
『壹』 GPS中的p码C/A码指的是什么
GPS系统用的是扩频通信,其中伪随机噪声码(PN)即测距码主要有精测距码(P码)和粗测距码(C/A码)两种。其中P码的码率为10.23MHz、C/A码的码率为1.023MHz,长度为1023.
『贰』 c语言编程:GPS数据处理
这是通过online judge测试的
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
int check(char *);
void utc(char *);
char bjtime[7];
int main()
{
char a[200];
int f=0;
char *ptr;
do
{
scanf("%s",a);
if(strncmp("$GPRMC",a,6)==0)
{
ptr=a;
for(int i=0;i<2;i++){
ptr=strchr(ptr,',');
ptr++;
}
if (ptr[0]=='A' && check(a))
{
utc(a);
f=1;
}
}
}while(strcmp("END",a)!=0);
if (f) printf("%c%c:%c%c:%c%c",bjtime[0],bjtime[1],bjtime[2],bjtime[3],bjtime[4],bjtime[5]);
return 0;
}
int check(char *s)
{
char *ck,*str;
int i;
char m=s[1];
for(i=2;i<strlen(s)-3;i++)
m^=s[i];
int z=(int)m%65536;
printf("%0x",z);
ck=&s[strlen(s)-2];
int x=strtol(ck,&str,16);
if(x==z) return 1;
else return 0;
}
void utc(char * s)
{
char *str1;
char str[7];
str1=&s[7];
strncpy(bjtime,str1,6);
int x=strtol(bjtime,&str1,10);
x+=80000;
x%=240000;
for(int i=5;i>=0;i--){
bjtime[i]=(char)((int)'0'+x%10);
x/=10;
}
}
『叁』 可以把你用C语言写的GPS接受程序,给我发一份吗 我的邮箱[email protected]
?...
『肆』 GPS模块获取的数据转换成经纬度(度分秒的格式),C语言
3559.10468,N,12009.46619,E
N/S(北纬或南纬):北纬35 度59.10468 分;
E/W(东经或西经):东经120 度9.46619 分;
纬度(格式ddmm.mmmm:即dd 度,mm.mmmm 分);
经度(格式dddmm.mmmm:即ddd 度,mm.mmmm 分);
list和字符串操作就不写了吧。
『伍』 怎么用c语言编写GPS 的程序
你好!
你的意思是没有地图对吗?
你的是什么GPS?是一体机,还是手机加上接受器呢?
『陆』 gps info;在C程序中什么意思
这应该是为了方便而由typedef定义的结构体的别名,类似:
typedef struct
{
……
} GPS_INFO;
这样的形式,所以GPS就是一个类型为GPS_INFO的结构体变量
『柒』 最近想用C语言在Linux上开发一个简单的gps接口程序,能读取显示经度纬度的那种。
权威《unix网络编程》。
做这个事情大概分这么几步。
一:gps设备先通过某种手段上网(可以是拨号上网,wifi。。。。)
二:gps设备向服务器(就是你运行程序的机器)申请连接。可以用域名或者IP找到你的服务器。
三:服务器接受连接。
四:你跟这个gps设备提前预定好。你们的通信形式。
常用的大概也就是,一问一答。你可以通过tcp连接发请求指令给设备,设备收到以后给你回复。然后你只要分析回复指令就就行了。
具体怎么监听连接,怎么收发。书上说的很清楚。
『捌』 怎么用c语言获取gps数据
一言难尽, 建议你去看看android底层的源码,操作gps模块,本来就是用C来实现的 。
『玖』 c语言中计算gps坐标转经纬度
就是纯计算公式,一个公式就可以解决。具体逻辑如下。
一般从GPS得到的数据是经纬度。经纬度有多种表示方法。
1.) ddd.ddddd, 度 . 度的十进制小数部分(5位)例如:31.12035º
2.) ddd.mm.mmm,度 . 分 . 分的十进制小数部分(3位)例如 31º10.335′
3.) ddd.mm.ss, 度 . 分 . 秒 例如 31º12’42″
地球上任何一个固定的点都可以用确定的经纬度表示出来。
关于经纬度坐标转换的方法
一、十进制转换成经纬度
把经纬度转换成十进制的方法很简单
如下就可以了
Decimal Degrees = Degrees + minutes/60 + seconds/3600
例:57°55’56.6″ =57+55/60+56.6/3600=57.9323888888888
114°65’24.6″=114+65/60+24.6/3600=结果自己算!
如把经纬度 (longitude,latitude) (205.395583333332,57.9323888888888)
转换据成坐标(Degrees,minutes,seconds)(205°23’44.1″,57°55’56.6″)。
步骤如下:
1, 直接读取”度”:205
2,(205.395583333332-205)*60=23.734999999920 得到”分”:23
3,(23.734999999920-23)*60=44.099999995200 得到”秒”:44.1
采用同样的方法可以得到纬度坐标:57°55’56.6″