亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commport.cpp

?? 可以接收NMEA-0183格式的GPS數據自動化搜索本枸的GPS接口
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//////////////////////////////////////////////////////////////////////
// 串口接受程序
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CommPort.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//定義全局變量

HANDLE hPort;
int SettingStatus=0;
int ReadFlag=0;
int WriteFlag=0;
unsigned char Result[40960];
unsigned char Message7[155];
unsigned char result[40960];
BOOL GetOrigin=0;

unsigned int dwVisible=0;//當前可見的衛星號
WORD iEl[32];//衛星的仰角
WORD iAz[32];//衛星的方位角
WORD iVs[32];//當前可用的衛星號


double BORDERLENGTH=0.05;

extern int ReceivedNumber;

int ReadByteNumber=0;


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CCommPort::CCommPort()
{

}

CCommPort::~CCommPort()
{
	ClosePort();
}
//////////////////////////////////////////////////////////////////////////////////////
//功能:讀串口數據
//////////////////////////////////////////////////////////////////////////////////////
GPSInfo CCommPort::ReadPortData()
{
	GPSInfo gpsinfo;
	DWORD dwBytesRead;
//	char b[100];
	int AllNumber=0;
	unsigned char Info[512];

	ReadFile(hPort,&Info,512,&dwBytesRead,NULL);
	//清除讀緩沖區
	ClearCommBuf(2);

	if(ReadFlag==0)
	{
		for(int i=0;i<(int)dwBytesRead;i++)
			Result[i]=Info[i];
		AllNumber=dwBytesRead;
		ReadFlag=0;


		int n=0;

		while(n<AllNumber-1)
		{	
			//循環找出"$GPGGA"
			if(Result[n]=='$'&&Result[n+1]=='G'&&Result[n+2]=='P'&&Result[n+3]=='G'&&Result[n+4]=='G'&&Result[n+5]=='A') 	
			{
				//計算CheckSum
				char GPGGA[128];
				int CheckSum=0;
				GPGGA[0]='G';
				int m=n+2;
				int DataLength=1;
				while ((Result[m]!='*')&&(m-n-1)<128)
				{
					GPGGA[m-n-1]=Result[m];
					DataLength++;
					m++;
				}
	/*			char c[3]={0,0,0};
				c[0]=Result[m+1];
				c[1]=Result[m+2];
				int RCheckSum=atoi(c);
				CheckSum=GPGGA[0];//Calc_checksum(GPGGA, DataLength);
				for(i=1;i<DataLength;i++)
					CheckSum^=GPGGA[i];
	*/				


				char Degree[4];
				char Minute[8];
				double Latitude=0.0;
				double Longitude=0.0;
				int sn=0;

				int no=0;

				//跳到緯度值的度
				no+=16;
				for(int i=0;i<4;i++)
					Degree[i]=0;
				Degree[0]=GPGGA[no];
				Degree[1]=GPGGA[no+1];

				no+=2;
				for(i=0;i<8;i++)
					Minute[i]=0;
				for(i=0;i<7;i++)
					Minute[i]=GPGGA[no+i];
				int l=atoi(Degree);
				Latitude=(atof(Minute))/60.0+l;
			
				//求出經度
				no+=10;
				for(i=0;i<4;i++)
					Degree[i]=0;
				Degree[0]=GPGGA[no];
				Degree[1]=GPGGA[no+1];
				Degree[2]=GPGGA[no+2];

				no+=3;//跳轉到經度值的分
				for(i=0;i<8;i++)	   
					Minute[i]=0;
				for(i=0;i<7;i++)
					Minute[i]=GPGGA[no+i];
				int B=atoi(Degree);
				Longitude=(atof(Minute))/60.0+B;

				///////////////////////////////////////////////
				if(Longitude>90.0&&Longitude<130.0&&Latitude>10.0&&Latitude<80.0)
					//&&fabs(dL)<0.0006&&fabs(dB)<0.0006
				{
					gpsinfo.co.B=Latitude;
					gpsinfo.co.L=Longitude;
					ReceivedNumber++;
				}

				//跳到衛星顆數
				no+=13;
				for(i=0;i<4;i++)
					Degree[i]=0;
				Degree[0]=GPGGA[no];
				Degree[1]=GPGGA[no+1];
				sn=atoi(Degree);
				gpsinfo.sn=sn;

			}



			//循環找出"$GPGSV"
			else if(Result[n]=='$'&&Result[n+1]=='G'&&Result[n+2]=='P'&&Result[n+3]=='G'&&Result[n+4]=='S'&&Result[n+5]=='V') 	
			{	
				char GPGSV[65];
				GPGSV[0]='G';
				int m=n+2;
				while ((Result[m]!='*')&&(m-n-1)<65)
				{
					GPGSV[m-n-1]=Result[m];
					m++;
				}

				int temple,temple2;
				int no=0;
						
				//求出坐標
				for(int i=0;i<4;i++)
				{
					no=13+13*i;
					temple=(GPGSV[no]-48)*10+(GPGSV[no+1]-48)-1;
					if((temple>=0)&&(temple<32))
					{
						iVs[temple]++;
						temple2=(GPGSV[no+3]-48)*10+(GPGSV[no+4]-48);
						if((temple2>=0)&&(temple2<=90)) iEl[temple]=temple2;
						else iEl[temple]=0;
						temple2=(GPGSV[no+6]-48)*100+(GPGSV[no+7]-48)*10+(GPGSV[no+8]-48);
						if((temple2>=0)&&(temple2<=360)) iAz[temple]=temple2;
						else iAz[temple]=0;
					}

				}
							
			}



			//循環找出"$GPGLL"
			else if(Result[n]=='$'&&Result[n+1]=='G'&&Result[n+2]=='P'&&Result[n+3]=='G'&&Result[n+4]=='L'&&Result[n+5]=='L') 	
			{
	/*			//////////////////////////////////////////////////////////////////////////////
				//		$GPGLL, XXXX.XXXX, N/S, XXXXX.XXXX, E/W,XXXXXX.XX,S,M*hh <CR><LF>	//
				//					1		 2		  3	      4    5       6 7 8			//
				//		1:緯度																//
				//		2:N:北緯               S:南緯									//
				//		3:經度																//
				//		4:E:東經                W:西經									//
				//		5:時間																//
				//		6:狀態顯示  A可用 V不可用											//
				//		7:模式顯示  A自動 N數據不可用										//
				//		8:校驗和															//
				//////////////////////////////////////////////////////////////////////////////

				char GPGLL[128];
				GPGLL[0]='G';
				int m=n+2;
				int DataLength=1;
				while (Result[m]!='*')
				{
					GPGLL[m-n-1]=Result[m];
					DataLength++;
					m++;
				}
				char Degree[4];
				char Minute[8];
				double Latitude=0.0;
				double Longitude=0.0;

				int no=0;

				//跳到緯度值的度
				no+=6;
				for(int i=0;i<4;i++)
					Degree[i]=0;
				Degree[0]=GPGLL[no];
				Degree[1]=GPGLL[no+1];

				no+=2;//跳轉到緯度值的分
				for(i=0;i<8;i++)
					Minute[i]=0;
				for(i=0;i<7;i++)
					Minute[i]=GPGLL[no+i];
				int l=atoi(Degree);
				Latitude=(atof(Minute))/60.0+l;

				//求出經度
				no+=10;
				for(i=0;i<4;i++)
					Degree[i]=0;
				Degree[0]=GPGLL[no];
				Degree[1]=GPGLL[no+1];
				Degree[2]=GPGLL[no+2];

				no+=3;//跳轉到經度值的分
				for(i=0;i<8;i++)	   
					Minute[i]=0;
				for(i=0;i<7;i++)
					Minute[i]=GPGLL[no+i];
				int B=atoi(Degree);
				Longitude=(atof(Minute))/60.0+B;

				sprintf(b,"                                ");
				p->ExtTextOut(5,5,NULL,NULL,b,NULL);

				sprintf(b,"                                   ",Latitude);
				p->ExtTextOut(10,30,NULL,NULL,b,NULL);
				sprintf(b,"  B=%f",Latitude);
				p->ExtTextOut(10,30,NULL,NULL,b,NULL);

				sprintf(b,"                                   ",Longitude);
				p->ExtTextOut(10,50,NULL,NULL,b,NULL);
				sprintf(b,"  L=%f",Longitude);
				p->ExtTextOut(10,50,NULL,NULL,b,NULL);

	*/





			}
			//循環找出"$GPGGA"
			else if(Result[n]=='$'&&Result[n+1]=='G'&&Result[n+2]=='P'&&Result[n+3]=='G'&&Result[n+4]=='S'&&Result[n+5]=='V') 	
			{

			}

			//循環找出"$GPGSA"
			else if(Result[n]=='$'&&Result[n+1]=='G'&&Result[n+2]=='P'&&Result[n+3]=='G'&&Result[n+4]=='S'&&Result[n+5]=='A') 	
			{
				char GPGSA[60];
				GPGSA[0]='G';
				int m=n+2;
				while ((Result[m]!='*')&&(m-n-1)<60)
				{
					GPGSA[m-n-1]=Result[m];
					m++;
				}
				
				int temple3,no;
				no=10;
				
				for(int i=0;i<12;i++)
				{
					if(GPGSA[no+1+i*3]!='.')
					{
						temple3=(GPGSA[no+i*3]-48)*10+(GPGSA[no+1+i*3]-48)-1;
						if((temple3>=0)&&(temple3<32))	iVs[temple3]++;
					}
					if(GPGSA[no+1+i*3]=='.') i=12;
				}

			}

			n++;
		}
	}
	return gpsinfo;
}


#define BORDERPIXEL  240.0
#define REFX 0
#define REFY 0
//////////////////////////////////////////////////////////////////////////
//功能:初始化串口
//////////////////////////////////////////////////////////////////////////
BOOL CCommPort::InitGPS()
{
	CString ComName;
	FILE *fp;
	fp=fopen("GPSPort.dat","r");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲一区二区三区明星换脸| 久久影院视频免费| 欧美一区二区三区在线观看视频| 久久蜜桃av一区精品变态类天堂| 亚洲欧美日韩国产综合| 麻豆中文一区二区| 色8久久人人97超碰香蕉987| 久久只精品国产| 日本色综合中文字幕| 成人教育av在线| 欧美成人女星排行榜| 亚洲一二三专区| 99久久国产综合色|国产精品| 精品日韩一区二区三区免费视频| 亚洲一区在线看| 99久久精品一区| 国产欧美一区二区三区网站| 麻豆视频观看网址久久| 欧美性猛交xxxx黑人交| 亚洲色图制服诱惑 | 欧美日韩一区中文字幕| 日本一区二区三区四区| 另类专区欧美蜜桃臀第一页| 欧美日韩mp4| 亚洲国产精品尤物yw在线观看| 97久久超碰国产精品| 欧美国产日本韩| 国产高清亚洲一区| 国产亚洲福利社区一区| 久久疯狂做爰流白浆xx| 欧美高清视频一二三区| 亚洲午夜三级在线| 欧美在线免费观看亚洲| 国产精品理论片| 粉嫩一区二区三区在线看| 国产午夜精品在线观看| 国产91精品在线观看| 欧美国产一区在线| 成人黄色免费短视频| 欧美激情一区二区| www.久久精品| 亚洲精品写真福利| 欧美探花视频资源| 视频一区视频二区中文| 欧美一级在线观看| 精品一区二区三区久久久| 精品久久久久久久久久久久久久久久久 | 久久一区二区三区四区| 激情图片小说一区| 国产欧美日韩视频在线观看| 成人av在线资源网| 一区二区三区在线观看网站| 欧美做爰猛烈大尺度电影无法无天| 亚洲精品日韩一| 777xxx欧美| 精品一区在线看| 国产精品国产三级国产普通话蜜臀| 波多野结衣亚洲| 亚洲午夜三级在线| xvideos.蜜桃一区二区| av动漫一区二区| 五月婷婷综合网| 久久色在线视频| 色综合久久久久网| 久久er99热精品一区二区| 国产日产欧美一区二区视频| 色哟哟日韩精品| 日日夜夜免费精品视频| 久久精品一区蜜桃臀影院| kk眼镜猥琐国模调教系列一区二区 | 不卡一二三区首页| 亚洲国产欧美一区二区三区丁香婷| 91精品国产综合久久国产大片 | eeuss国产一区二区三区| 亚洲国产视频一区二区| 久久毛片高清国产| 在线亚洲一区观看| 国产精品一级黄| 一区二区三区久久久| 久久一区二区三区四区| 欧美视频你懂的| 成人av资源在线观看| 日本不卡视频在线观看| 亚洲欧美另类久久久精品 | 精品国偷自产国产一区| 色中色一区二区| 大美女一区二区三区| 亚洲码国产岛国毛片在线| 精品久久久久av影院| 在线一区二区视频| a亚洲天堂av| 国产在线一区二区| 日韩精品亚洲专区| 亚洲丝袜另类动漫二区| 欧美精品一区二区三区高清aⅴ | 在线成人高清不卡| 色综合一区二区三区| 国产一区二区0| 麻豆成人在线观看| 亚洲成人精品一区| 樱花影视一区二区| 一区在线中文字幕| 国产欧美一区二区精品秋霞影院| 91麻豆精品国产91久久久久久| 色悠久久久久综合欧美99| 粉嫩av一区二区三区在线播放| 久久国产三级精品| 美腿丝袜亚洲三区| 日本成人中文字幕| 午夜伊人狠狠久久| 天天做天天摸天天爽国产一区| 亚洲美女精品一区| 一区二区三区资源| 亚洲一区在线观看视频| 一区二区三区四区精品在线视频 | 亚洲精品在线免费播放| 在线播放91灌醉迷j高跟美女| 日本精品裸体写真集在线观看 | 国产在线视视频有精品| 久久福利视频一区二区| 韩国av一区二区| 国产精品1区2区| 成人综合在线网站| www.激情成人| 色88888久久久久久影院按摩 | 欧美一区二区免费观在线| 91麻豆精品国产91久久久久| 欧美日韩精品一区二区三区四区 | 日本视频在线一区| 男女男精品视频| 精品一区二区影视| 国产高清亚洲一区| 91美女在线视频| 欧美视频完全免费看| 欧美一区二区三区男人的天堂| 91精品国产综合久久久久久| 日韩欧美国产系列| 国产午夜精品在线观看| 亚洲人成精品久久久久| 亚洲成av人片在线观看无码| 久久av资源站| 成人在线一区二区三区| 色综合久久精品| 欧美一二三区在线| 中文字幕不卡的av| 亚洲电影一级片| 韩国v欧美v日本v亚洲v| 91丝袜美女网| 制服.丝袜.亚洲.另类.中文| 精品国产伦理网| 中文字幕中文字幕在线一区| 一区二区三区日韩精品| 青青国产91久久久久久 | 国产电影精品久久禁18| 成a人片国产精品| 在线成人av影院| 中文字幕日本乱码精品影院| 首页国产丝袜综合| 成人av在线影院| 日韩一区二区三区免费看| 亚洲国产精品成人久久综合一区| 亚洲一区二区五区| 国产成人在线视频网址| 欧美日韩精品一区视频| 国产欧美一区二区在线| 人妖欧美一区二区| 99久精品国产| 久久综合色之久久综合| 亚洲成av人片在www色猫咪| 国产成人免费在线视频| 91精品国产91久久综合桃花| 亚洲视频小说图片| 国产精品一二三区| 日韩视频免费直播| 亚洲精品日产精品乱码不卡| 成人午夜在线播放| 日韩天堂在线观看| 亚洲一区二区美女| 99久久综合精品| 久久免费视频一区| 高清久久久久久| 欧美日韩1234| 亚洲最新在线观看| 91网页版在线| 亚洲国产精品激情在线观看| 蜜桃视频在线观看一区二区| 欧美日韩精品福利| 亚洲精品高清在线| 91色视频在线| 亚洲欧洲成人精品av97| 成人午夜精品一区二区三区| 久久免费国产精品| 狠狠网亚洲精品| 欧美www视频| 久久国内精品自在自线400部| 欧美精品久久久久久久多人混战| 一区二区在线看| 欧美综合天天夜夜久久| 一区二区激情小说| 欧美三级欧美一级|