亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
蜜臀久久99精品久久久久宅男| 五月婷婷综合在线| 精品国产欧美一区二区| 欧美乱熟臀69xxxxxx| 欧美性感一类影片在线播放| 在线这里只有精品| 欧美日韩在线播放一区| 欧美二区在线观看| 日韩欧美电影一区| 精品国产精品一区二区夜夜嗨| 日韩免费电影一区| 亚洲国产成人在线| 亚洲曰韩产成在线| 视频一区二区三区中文字幕| 麻豆91在线看| 懂色av中文字幕一区二区三区| av网站免费线看精品| 欧美四级电影网| 日韩欧美久久一区| 久久久国产午夜精品| 亚洲精品美国一| 秋霞成人午夜伦在线观看| 老司机精品视频导航| 99在线热播精品免费| 欧美日韩一区三区| 久久先锋资源网| 一区二区三区中文在线| 免费观看成人av| www.爱久久.com| 制服丝袜在线91| 欧美国产日本视频| 亚洲综合成人在线| 国产精品影音先锋| 欧美午夜片在线看| 国产欧美日韩麻豆91| 亚洲国产日韩在线一区模特| 精品亚洲porn| 色综合天天综合网国产成人综合天| 欧美精选一区二区| 国产精品国产自产拍高清av王其| 午夜影院久久久| 97国产一区二区| 精品久久久久一区| 午夜不卡在线视频| 91亚洲精品久久久蜜桃网站| 欧美一级欧美三级| 一区二区欧美国产| 国产99久久久国产精品潘金| 欧美一区二区三区视频免费播放| 综合亚洲深深色噜噜狠狠网站| 美女脱光内衣内裤视频久久影院| 99国产精品久久| 欧美经典一区二区| 久久精品免费观看| 欧美日韩国产一级| 亚洲日本乱码在线观看| 国产精品99久久久久久宅男| 91精品国产入口| 亚洲一区二区三区激情| 97精品久久久久中文字幕| 国产午夜亚洲精品不卡| 老司机精品视频线观看86| 欧美日韩成人一区| 亚洲超丰满肉感bbw| 一本一道波多野结衣一区二区| 国产日韩欧美不卡在线| 国产乱码精品一品二品| 精品国产亚洲在线| 乱一区二区av| 精品毛片乱码1区2区3区| 日本在线不卡视频| 91精品国产综合久久精品图片| 亚洲精品va在线观看| 色婷婷精品大在线视频| 亚洲人成网站影音先锋播放| 暴力调教一区二区三区| 国产精品日韩成人| 99久久综合狠狠综合久久| 国产精品国产三级国产普通话三级| 国产成人精品免费在线| 久久嫩草精品久久久精品一| 国产一区二区伦理片| 中文成人综合网| 91丨porny丨国产| 亚洲免费视频中文字幕| 欧美日韩中文一区| 免费看欧美女人艹b| 26uuu精品一区二区| 不卡的电影网站| 亚洲精品va在线观看| 777欧美精品| 国产一区二区调教| 亚洲国产精品成人综合色在线婷婷| 成人免费av网站| 一区二区三区四区国产精品| 在线观看日韩av先锋影音电影院| 视频在线在亚洲| 久久精品一区二区| 日本韩国一区二区| 日韩福利视频导航| 欧美国产禁国产网站cc| 欧美午夜理伦三级在线观看| 六月丁香综合在线视频| 亚洲丝袜自拍清纯另类| 欧美一区中文字幕| 风流少妇一区二区| 亚洲地区一二三色| 欧美激情一区二区在线| 欧美日韩日日摸| 懂色中文一区二区在线播放| 一区二区日韩av| 欧美激情中文字幕| 欧美一区二区三区在线| 91亚洲精品久久久蜜桃| 精品一区二区三区在线观看国产| 一区视频在线播放| 日韩三级视频在线观看| 91网址在线看| 国产精品亚洲一区二区三区妖精| 亚洲欧美乱综合| 久久久99精品免费观看| 91精选在线观看| 色婷婷一区二区三区四区| 国产麻豆精品在线观看| 午夜久久久影院| 夜夜嗨av一区二区三区中文字幕 | 不卡一区在线观看| 免费成人在线影院| 亚洲综合另类小说| 亚洲三级小视频| 国产婷婷精品av在线| 欧美一区二区三区人| 91麻豆精品一区二区三区| 国产成人鲁色资源国产91色综 | 国产一区中文字幕| 日产欧产美韩系列久久99| 亚洲一区在线播放| 亚洲欧美日韩国产中文在线| 国产精品久久久久久久久免费桃花| 欧美大白屁股肥臀xxxxxx| 91精品在线免费观看| 欧美日韩国产bt| 欧美精品色一区二区三区| 91久久线看在观草草青青| 99久久综合国产精品| 91影视在线播放| 91丨九色丨黑人外教| 91色|porny| 色哟哟一区二区三区| 91免费看片在线观看| 91亚洲国产成人精品一区二区三| 国产99久久久久久免费看农村| 国产盗摄视频一区二区三区| 国内精品嫩模私拍在线| 国产乱国产乱300精品| 国产aⅴ综合色| av高清不卡在线| 一本一道波多野结衣一区二区| 色欧美日韩亚洲| 在线观看日韩精品| 91精品黄色片免费大全| 日韩你懂的在线观看| 久久久久久影视| 国产精品灌醉下药二区| 亚洲区小说区图片区qvod| 亚洲一区av在线| 理论电影国产精品| 成人精品国产一区二区4080| 91丝袜美腿高跟国产极品老师| 色视频一区二区| 日韩视频永久免费| 国产精品系列在线| 亚洲一区二区三区三| 麻豆精品国产传媒mv男同| 国产福利视频一区二区三区| 91免费视频大全| 日韩一级二级三级精品视频| 国产亚洲一区二区在线观看| 亚洲品质自拍视频网站| 免费久久99精品国产| 99久久777色| 日韩亚洲欧美在线| 中文字幕中文字幕一区| 日韩精品久久久久久| 成人午夜大片免费观看| 欧美亚洲一区三区| 久久综合色8888| 亚洲一区二区在线观看视频| 激情欧美日韩一区二区| 日本韩国精品一区二区在线观看| 日韩一区二区在线看| 日韩美女精品在线| 韩国午夜理伦三级不卡影院| 一本一道久久a久久精品综合蜜臀| 日韩视频一区二区三区在线播放 | 日韩av一级片| 成人av午夜电影| 欧美成人一区二区三区在线观看 | 欧美刺激午夜性久久久久久久| 中文字幕在线观看不卡|