📄 c-gps.txt
字号:
[讨论]开源的GPS解码思路,付代码。【中国IT软件知识库/大中华软件交易网】软件公司/软件开发人员社区论坛 软件项目交易网(软件外包、项目外包承接、软件供求交易、软件招标投标、投资融资合作)
【主页】 【登陆论坛】 【免费注册会员】 【关闭窗口】
您的位置:首页->软件论坛 -> C/C++技术->C语言 搜索:
站内导航
软件技术论坛
软件采购区
软件供应区
项目外包项目区
软件下载频道
IT软件公司速查手册
企业招聘专栏
人才求职
Flash动画游戏
音乐欣赏
域名注册/主机托管
C/C++技术
C语言
非技术区
工具平台和程序库
C++语言
新手乐园
模式及实现
其它技术问题
C语言 Top10
时间复杂度如何计算
为什么我的C程序会出现declaration syntax error呢 ?
C语言中浮点数比较的问题
求DOS下汉字显示的C语言源程序
pv操作的问题,实在是搞不懂了。
请问文件结束符是哪个字符啊?
关于SIZEOF的用法
C语言读取数据,怎样进行?
请高手指教一下C语言的题...谢谢!! 这周要交作业了...急....大恩!!!!
怪异问题
C语言 最新10
上面的宏定义怎么解释?
请求平衡二叉树的算法
紧急求助
高手们,拜托了!QQ:84758181
程序运行不对,问题出在哪?高手们,拜托了~!
c语言中标点符号及英文字母的处理
在设置P89C669串口0的时候出了点问题..哪位高人能解答一下啊!
这是怎么回是?
请高手进来看看,小弟感激不尽,在线等待!
各位大侠 , 有没有 C语言图形程序设计 方面的 电子书 啊 ?谢谢!
主 题:[讨论]开源的GPS解码思路,付代码。
发布日期:2006-1-9 6:46:53
作 者:request(我有问题)
问题分数:0
回 复 数:7
人气指数:58点
信 誉 值:100
等 级:
所属社区:C/C++技术 -> C语言
首先,我不会C,其次i am a new bie。
我想写一个开源的、通用的GPS解码思路。
以前用VB,C#等很轻松将GPS信息解码。但是最近要使用C语言,(网上有一个VC的按位解的)苦于C操作字符串的难度,请各位大侠放出一份C代码解GPS。
我先贴上我用C解的代码,是直接将VB和C#的思路转过来的。
现在可以读出经度或纬度,但是不能同时读出,这点我很郁闷~~~~( printf("ltt:%s\n", tltt);//没出错,但停止在这里了!程序不动了。。。)代码很笨拙。请大家帮助解决。
这是全部代码,有些是设备自带的环境设置参数。
——————————————————————————————————————
#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <commplus.h>
#include <infrared.h>
extern _stklen = 4096u; /* it very useful to reduce memory in HT-1800 */
extern _heaplen = 4096u; /* both stack & heap length must be set */
int main()
{
while(1 == 1)//这么写应该能过去吧,呵呵……
{
gps();
}
return 0;
}
int gps()
{
char *gpsStr;
int charI;
int akey;
unsigned char cm;
unsigned char p;
unsigned int baudtmp, baud;
int exitloop = 0;
unsigned char ab, st;
unsigned long b;
unsigned char p1;
unsigned char iroldstat;
char str1[] = "$PNMRX103,GGA,1,GSA,0,GSV,0,RMC,0,GLL,0,GSV,0,VTG,0,ZDA,*xx\r\n";
int i;
char tStrArr[254],tlttArr[9],tlgtArr[10];
char *tgga,*tgsa,*trmc,*tltt,*tlgt;
charI = 0;
if (!ComPlsInstalled())
{
if (InstallComPls(0) == 2)
{
cprintf("BIOS Setting for COM1 or COM2 Error!!!!\r\n\n");
return 0;
}
}
//printf("\nBaudRate:");
//scanf("%ld",&b);
//scanf("%c",&akey);
//printf("Port(1/2):");
//scanf("%c",&p1);
//scanf("%c",&akey);
//printf("Input ...");
IRPowerCtrl(0x01);
SetIRMFreq(38000);
SetIROutput(2);
GetCommMode(&cm, &p, &baud);
if (b >= 115200)
baudtmp = 0xFFF0;
else
baudtmp = (int)b;
if (p1 == 2)
{
if (b == 9600)
{
iroldstat = IRPowerCtrl(5);
SetIRMFreq(38000);
}
if (b == 19200)
{
iroldstat = IRPowerCtrl(5);
SetIRMFreq(307680);
}
}
SetCommMode(3, 2-1, 4800);
EnableRx(0);
exitloop = 0;
akey = 0;
for (i=0;i<sizeof(str1);i++)
PutAuxByte(str1[i]);
do
{
if (kbhit())
{
akey = getch();
if (akey != 27)
{
if (!exitloop)
//printf("\n");
exitloop = -1;
//PutAuxByte((char)akey);
//printf("%c",akey);
}
}
if (ExistAuxBGot(&ab, &st))
{
if (ab == 13)
//printf("\n");
exitloop = 0;
tStrArr[charI] = ab;
charI++;
if(charI == 254)
{
gpsStr = &tStrArr[0];
tgga = strstr(gpsStr,"GPGGA");
//printf("gga:%s",tgga);
/*
tlgt = getpart(tgga,",",4);
tltt = getpart(tgga,",",2);
printf("%s\n",tltt);*/
break;
}
}
}while (akey != 27);
SetCommMode(cm, p, baud);
iroldstat = IRPowerCtrl(0);
SetIRMFreq(0);
DisableRx();
//printf("gga:%s",tgga);
tlgt = getpart(tgga,",",4);
printf("lgt:%s\n", tlgt);
//printf("%s",tgga);
tltt = getpart(tgga,",",2);
printf("ltt:%s\n", tltt);//没出错,但停止在这里了!程序不动了。。。
return 0;
}
int getpart(char *SourceStr,char *ConnStr,int PartInt)
{
int PartI = 1;
char *ResultStr,*tempStr,*dropStr;
int OriLen,DropLen;
//PartInt++;
tempStr = SourceStr;
while(PartI <= PartInt)
{
tempStr = strstr(tempStr,ConnStr);
tempStr++;
PartI++;
}
OriLen = strlen(tempStr);
dropStr = strstr(tempStr,ConnStr);
DropLen = strlen(dropStr);
strncpy(ResultStr,tempStr,OriLen - DropLen);
if(dropStr == NULL)//这里防止取到不存在的字符串
{
return(NULL);
}
else
{
return(ResultStr);
}
}
回复人: expert(技术专家) 信誉:100 2006-1-9 6:46:53得分: 0
为什么显示不到列表中。。。。555555
100分的帖子都没人看啊~~~~~~~~
【Top】
回复人: expert(技术专家) 信誉:100 2006-1-9 6:46:53得分: 0
以前写过C的。。。。忘记了,找找去~
【Top】
回复人: expert(技术专家) 信誉:100 2006-1-9 6:46:53得分: 0
标记下,以后看
【Top】
回复人: expert(技术专家) 信誉:100 2006-1-9 6:46:54得分: 0
TO:dragonzxh(河马MiaMia~小雨特批C++非技术区技术灌水员~)
期待中……
【Top】
回复人: expert(技术专家) 信誉:100 2006-1-9 6:46:54得分: 0
自己顶一下。希望对GPS感兴趣的朋友帮忙看一看。
【Top】
回复人: expert(技术专家) 信誉:100 2006-1-9 6:46:54得分: 0
MARK !!
【Top】
回复人: expert(技术专家) 信誉:100 2006-1-9 6:46:54得分: 0
我留下联系方式,对GPS解码感兴趣的朋友欢迎+我,大家讨论。
期待大家帮助!!!/BOW
白天-msn:webmaster@365n.net
晚上-qq:3110616
【Top】
【登陆论坛】
【中国IT软件知识库/大中华软件交易网】软件公司/软件开发人员社区论坛 软件项目交易网(软件外包、项目外包承接、软件供求交易、软件招标投标、投资融资合作)
版权所有【中国IT软件知识库/大中华软件交易网】© 2004-2005 鲁ICP备05026886号
电话:0531-86586797 高小姐 Email:避免Email骚扰
ooReports网上直报(网络直报)统计分析系统 ooReports系统功能描述: 公司主站:http://www.etcell.com/
网上直报主站:http://report.etcell.com/ 网上直报系统采用B/S模式的WEB形式,界面清新简洁明了,即学即会;开发工具:
.NET(C#)和ATGrid报表控件开发完成; ooReports支持的功能如下: 1.
WEB服务器支持:WebLogic、TOMCAT、IIS等; 2. 支持数据库:SQL Server,Oracle,Sybase,DB2等; 3.
支持XML: 通过XML和后台数据库进行绑定; 4. 可以直接把Excel,html文件到入系统,还可以把任何报表转换为Excel,HTML文件;
5. 支持报表类型:普通报表,套打报表,财务报表,分组报表,主从报表,交叉报表,
统计报表、汇总报表、多行显示,工业报表、生产报表、建筑报表、财务报表、销售报表、销售日报、资产负债表、自定义等WEB报表; 6.
报表填报类型:年报、半年报、季报、月报、周报、日报、实时报、临时报、一次性报等 7. 可视化自定义报表工具; 8.
集成数据采集、数据上报、数据挖掘、数据分析、图表分析(曲线图,柱状图,柄状图等)与一体 9.
系统自动创建数据库和报表模板进行数据绑定,减轻维护人员的工作量; 10.
查询出来的数据可以通过多种形式进行显示,显示形式自由切换:XSL,HTML,ET,图表; 11.支持在线填报、离线填报两种方式; 12.
软件使用群体:统计局、财政局、税务(国税,地税[重点税源])、交通厅(交通局)、集团公司(包括分公司、办事处)
旅游局、银行系统、农机局、建设部门、卫生厅(卫生局病情上报)等各个行业,是一款通用性及强的平台。 13. 软件模块如下: (1)
直报平台[前端界面] 使用群体:报表填报单位,例如:供应商/客户/分销商/地市分局/集团分公司...... 功能简述:
填写报表、审核报表、审核勾级关系...... (2) 后台管理维护平台使用群体: 系统管理员/集团总部/部级单位/厅级单位/地市局......
功能简述: 定义报表模板、定义报表勾级关系、定义直报的各种功能、权限分配、报表审核、统计、汇总、数据分析、报表打印...... (3)
报表模板设计器可以采用两种方式进行可视化自定义设计报表模板, ①利用WinTable报表设计器; ②利用Web方式的可视化设计器;
设计结束后保存模板,然后通过HTTP或者FTP保存到WEB服务器。网络报表系统 网络报表设计器 网上报表系统 网上报表工具
网上财务报表公司主站:http://www.etcell.com/
ooReports网上直报主站:http://report.etcell.com/ 济南昂利万软件有限公司荣誉出品
联系电话:0531-86586797 0531-88166797
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -