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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uart_com.c

?? HX-87 GPS模塊協(xié)議轉(zhuǎn)換程序
?? C
字號:
#include"GLOBLE.H"
UBYTE8		gcv_arr_buff[80];//={"$GPRMC,024110.629,A,3115.4365,N,12036.1465,E,0.00,,130606,,,A*7B" };
UBYTE8		gcv_r_len_buff=0;
UBYTE8		gcv_uart_complete=0;
UBYTE8		gcv_sbuff_tmp=0;
UBYTE8		gcv_check_right_flg=0;
UBYTE8		gcv_coma_num=0;
UBYTE8		gcv_copy_num=0;
UBYTE8		gcv_string_select=0;
UBYTE8		gcv_send_buff_count=0;
UBYTE8		gcv_receive_flg=0;

UBYTE8		gcv_tmp1=0;
UBYTE8		gcv_tmp2=0;
UBYTE8		gcv_tmp3=0;
ULONG32	gfv_digit_arr_latitude[5]={0,0,0,0,0};
ULONG32	gfv_digit_arr_longitude[5]={0,0,0,0,0};
typedef  union send_buff
{
	struct
		{
			UBYTE8   	head;
			WordType	addr;
			UBYTE8	coma0;
			WordType	hour;
			WordType	min;
			WordType	second;
			UBYTE8		coma1;
			//UBYTE8		n_s;
			//UBYTE8		coma2;
			UBYTE8		latitude[9];
			UBYTE8		coma2;
			UBYTE8		n_s;
			UBYTE8		coma3;
			UBYTE8		longitude[10];
			UBYTE8		coma4;
			UBYTE8		w_e;
			UBYTE8		coma5;
			WordType	fram_check;
			WordType	fram_tail;
		}Fram_data;
	UBYTE8	send_arr[40];
}send_buff ;
	
send_buff guv_send_buff;

//---------------------------------------------------------

void UART_COM_Send_byte(unsigned char massage)    //發(fā)送一個字節(jié)
{
	SBUF=massage;
	while(TI==0);
	TI=0;
}


void UART_COM_Uart_INT () interrupt 4 using 2
{
	#if 0
	if(RI)
		{
			gcv_sbuff_tmp=SBUF;
			RI=0;
			if(gcv_r_len_buff>=80)
				gcv_r_len_buff=0;
			
			if(gcv_sbuff_tmp=='$')                    			 //接收到幀頭
				{
					gcv_r_len_buff=0;					//接收長度清零
				}
			
			gcv_arr_buff[gcv_r_len_buff]=gcv_sbuff_tmp;	//將數(shù)據(jù)放入緩存中
			gcv_sbuff_tmp=0;
		
				//判斷是否接收到幀尾
			if((gcv_arr_buff[gcv_r_len_buff-1]==0x0d)&&(gcv_arr_buff[gcv_r_len_buff]==0x0a))   
				{
					gcv_uart_complete=1;         		//接收完成
				//	gcv_tmp3=gcv_r_len_buff+1;
					ES=0;
				}
				
			gcv_r_len_buff++;					//幀長度計算
		}	
	#endif
	
	if(RI)
		{
		gcv_sbuff_tmp=SBUF;
		
		if(gcv_sbuff_tmp=='$')                     //接收到":"
				{
					gcv_r_len_buff=0;
					gcv_receive_flg=1;
				}
			if(gcv_receive_flg)
				{
			
					gcv_arr_buff[gcv_r_len_buff]=gcv_sbuff_tmp;
			
					if((gcv_arr_buff[gcv_r_len_buff-1]==0x0d)&&(gcv_arr_buff[gcv_r_len_buff]==0x0a))   
						{
							gcv_uart_complete=1;         		//接收完成
							gcv_receive_flg=0;
							ES=0;
						}
					gcv_r_len_buff++;	
				}
			RI=0;
			}
	
			
}

 /*--------------------------------------------------------------------------------------
                                                                   ASC-HEX
 ----------------------------------------------------------------------------------------*/
unsigned char UART_COM_Asc_hex(unsigned char in)
{
 	unsigned char out;
 	if (in<(0x40))      //每一位轉(zhuǎn)化成16進(jìn)制
       	out=in-0x30;
       else   
	   	out=in-0x37;
	   
	return (out);
	      
}
 /*---------------------------------------------------------------------------------------
                                                           組合
 -----------------------------------------------------------------------------------------*/
unsigned char UART_COM_Combination(unsigned char value_H, unsigned char value_L)
 	{
 		unsigned char value_out;
		value_out=(value_H<<4)+value_L;
		return value_out;
 	}

 /*---------------------------------------------------------------------------
                                 轉(zhuǎn)ASCII                                                                                
--------------------------------------------------------------------------*/
unsigned char  UART_COM_hex_asc(unsigned char in)
{
	unsigned char out;

	if(in<0x0a)
	out=in+48;
	else out=in+55;

	return out;
}
/*--------------------------------------------------------------*/
/*                                    高位地位分離                                         */
/*----------------------------------------------------------------*/
unsigned char  UART_COM_Caculate_H(unsigned char value_h)//
{
    unsigned char i;
	i=value_h;
	i=i>>4;
	i=i&0x0f;
		
	return i;
}
unsigned char UART_COM_Caculate_L(unsigned char value_l)
{
	unsigned char j;
	j=value_l;
	j=j&0x0f;
	return j;
}
//---------------------------------------------------------
void UART_COM_Fill_send_buf(ULONG32 fill_data, UBYTE8 bit_num,UBYTE8 *fill_arr)
{
	UBYTE8 lcv_fill_tmp,i;
	UBYTE8	*lcv_pfill_arr;
	UBYTE8	lcv_count;
	lcv_pfill_arr=&fill_arr[bit_num-1];
	i=0;
	//while(fill_data>0)
	for(lcv_count=0;lcv_count<bit_num;lcv_count++)
		{
			if(i==4)
				{
					*lcv_pfill_arr='.';
					i++;
					lcv_pfill_arr--;
					continue;
				}
			lcv_fill_tmp=fill_data%10;
			*lcv_pfill_arr=UART_COM_hex_asc(lcv_fill_tmp);
			fill_data=(fill_data-lcv_fill_tmp)/10;
			lcv_pfill_arr--;
			i++;
		}


}

ULONG32 UART_COM_digit_filer(ULONG32 *digit_arr,ULONG32 new_data)
{
	ULONG32 *lfv_pdigit_arr;
	UBYTE8 lcv_count;
	ULONG32 llv_caculate_tmp;
	ULONG32 llv_res_tmp;
	lfv_pdigit_arr=digit_arr;
	llv_caculate_tmp=0;
	for(lcv_count=0 ;lcv_count<DIGIT_FILER_ARR_NUM-1;lcv_count++)    
		lfv_pdigit_arr[lcv_count]=lfv_pdigit_arr[lcv_count+1];
	lfv_pdigit_arr[lcv_count]=new_data;


 
	for(lcv_count=0;lcv_count<DIGIT_FILER_ARR_NUM;lcv_count++)
	{				
		llv_caculate_tmp+=lfv_pdigit_arr[lcv_count];
	}

 	llv_res_tmp=llv_caculate_tmp/DIGIT_FILER_ARR_NUM;

	return(llv_res_tmp);


}

void UART_COM_Send_buff_anlyse(UBYTE8 *Send_arr, UBYTE8 arr_num, ULONG32 *digit_filter_arr)
{
	UBYTE8 *lcv_parr;
	UBYTE8 	lcv_Send_arr_num;
	UBYTE8	lcv_count;
	ULONG32 llv_unit;
	UWORD16	lfv_send_data_integer=0,lfv_send_data_decimal=0;
	ULONG32	lfv_send_data;
	
	
	lcv_Send_arr_num=arr_num-6;
	llv_unit=1;
	lcv_parr=&Send_arr[lcv_Send_arr_num];
	lfv_send_data_integer=0;
	
	for(lcv_count=0;lcv_count<=lcv_Send_arr_num;lcv_count++)	//取浮點數(shù)的整數(shù)部分
		{
			lfv_send_data_integer+=llv_unit*UART_COM_Asc_hex(*lcv_parr);
			lcv_parr--;
			llv_unit*=10;
		}
	
	lcv_parr=&Send_arr[arr_num-1];
	llv_unit=1;

	for(lcv_count=(lcv_Send_arr_num+2);lcv_count<arr_num;lcv_count++)	//取浮點數(shù)的小數(shù)部分
		{
			lfv_send_data_decimal+=llv_unit*UART_COM_Asc_hex(*lcv_parr);
			lcv_parr--;
			llv_unit*=10;
		}
	
	lfv_send_data=((ULONG32)lfv_send_data_integer)*10000+lfv_send_data_decimal;
	lfv_send_data=UART_COM_digit_filer(digit_filter_arr,lfv_send_data);
	UART_COM_Fill_send_buf(lfv_send_data,arr_num,Send_arr);
	


}

//------------------------------------------------------
UBYTE8 UART_COM_Check_sum(UBYTE8 * data_buff_addr)
{
	UBYTE8	lcv_check_sum_tmp;
	UBYTE8	lcv_count;
	UBYTE8	lcv_check_sum;
	lcv_check_sum_tmp=data_buff_addr[1];
	
	for(lcv_count=2;lcv_count<(gcv_r_len_buff-UART_CHECK_END);lcv_count++)
		{
			lcv_check_sum_tmp^=data_buff_addr[lcv_count];
		}
	
	lcv_check_sum=UART_COM_Combination(UART_COM_Asc_hex(data_buff_addr[gcv_r_len_buff-5]),\
										      UART_COM_Asc_hex(data_buff_addr[gcv_r_len_buff-4]));
	
	if(lcv_check_sum==lcv_check_sum_tmp)		//調(diào)試注銷
		return(1);
	else 
		return(0);
	

}


UWORD16 UART_COM_LRC()
{
	UBYTE8 lcv_lrcsum=0;
	UBYTE8 lcv_lrcsum_count;
	WordType lcv_lrcsum_asc;
	for(lcv_lrcsum_count=1;lcv_lrcsum_count<36;lcv_lrcsum_count++)
		{
		lcv_lrcsum+=guv_send_buff.send_arr[lcv_lrcsum_count];
		}
	lcv_lrcsum=0-lcv_lrcsum;
	lcv_lrcsum_asc.bytes.bh=UART_COM_hex_asc(UART_COM_Caculate_H(lcv_lrcsum));
	lcv_lrcsum_asc.bytes.bl=UART_COM_hex_asc(UART_COM_Caculate_L(lcv_lrcsum));
	return(lcv_lrcsum_asc.wd);
}

void	UART_COM_Sendfram()
{
	UBYTE8	lcv_hour_tmp;
	UBYTE8	lcv_send_count;

	lcv_hour_tmp=UART_COM_Combination(UART_COM_Asc_hex(guv_send_buff.Fram_data.hour.bytes.bh),
										   UART_COM_Asc_hex(guv_send_buff.Fram_data.hour.bytes.bl)	);
	lcv_hour_tmp+=8;
	if(lcv_hour_tmp>=24)
		lcv_hour_tmp=lcv_hour_tmp-24;
	guv_send_buff.Fram_data.hour.bytes.bh=UART_COM_hex_asc(lcv_hour_tmp/10);
	guv_send_buff.Fram_data.hour.bytes.bl=UART_COM_hex_asc(lcv_hour_tmp%10);
	guv_send_buff.Fram_data.head=':';
	guv_send_buff.Fram_data.addr.bytes.bh=0x30;
	guv_send_buff.Fram_data.addr.bytes.bl=0x31;
	guv_send_buff.Fram_data.coma0=',';
	guv_send_buff.Fram_data.fram_check.wd=UART_COM_LRC();
	guv_send_buff.Fram_data.fram_tail.bytes.bh=0x0d;
	guv_send_buff.Fram_data.fram_tail.bytes.bl=0x0a;
	for(lcv_send_count=0;lcv_send_count<40;lcv_send_count++)
		UART_COM_Send_byte(guv_send_buff.send_arr[lcv_send_count]);
}	

void UART_COM_Analyse()
{
	UBYTE8	*lcv_pbuff_arr;
	UBYTE8	*lcv_psend_arr;
	UBYTE8	  lcv_num_count;	
	UBYTE8	i;
	lcv_pbuff_arr=&gcv_arr_buff;
	lcv_psend_arr=&guv_send_buff.Fram_data.hour.bytes.bh;
	
	gcv_coma_num=0;
	gcv_copy_num=0;
	gcv_send_buff_count=0;
	gcv_string_select=0;

	for(i=0;i<41;i++)
		{
		guv_send_buff.send_arr[i]=0;
		}

	if(gcv_arr_buff[5]=='C')
		{
		//	gcv_arr_buff[5]=0;
			for(lcv_num_count=0;lcv_num_count<45;lcv_num_count++)
				{
					if(*lcv_pbuff_arr==',')
						gcv_coma_num++;
					switch(gcv_string_select)
						{
						case TIME :
							if(gcv_coma_num==1&&gcv_copy_num<6)
								{
									if(*lcv_pbuff_arr==',')
										break;
									*lcv_psend_arr=*lcv_pbuff_arr;
									lcv_psend_arr++;
									gcv_copy_num++;
								}
							
							if(gcv_copy_num>5)
							{
								gcv_string_select=POSITION;
							}
							break;
							
						case POSITION:
							if(gcv_coma_num>2&&gcv_coma_num<8)
								{
									*lcv_psend_arr=*lcv_pbuff_arr;	
									lcv_psend_arr++;
								}
							break;

						default:  break;
						}
					lcv_pbuff_arr++;			
				}
			UART_COM_Send_buff_anlyse(&guv_send_buff.Fram_data.latitude,9, &gfv_digit_arr_latitude);
			UART_COM_Send_buff_anlyse(&guv_send_buff.Fram_data.longitude,10, &gfv_digit_arr_longitude);
			UART_COM_Sendfram();
		}
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩精品一区| 日韩欧美在线综合网| 中文无字幕一区二区三区| 国产激情精品久久久第一区二区| 日韩欧美激情在线| 国产麻豆91精品| 欧美激情在线免费观看| av一二三不卡影片| 亚洲综合在线视频| 7777女厕盗摄久久久| 麻豆精品一区二区综合av| 久久久一区二区三区| 99视频有精品| 婷婷激情综合网| 久久亚洲综合av| 91啪在线观看| 日本欧美一区二区三区乱码| 精品国产免费人成电影在线观看四季| 国产一区二区三区四区五区美女| 中文字幕一区二区三区在线观看| 欧美亚洲国产一区在线观看网站| 丝袜诱惑制服诱惑色一区在线观看 | 青青草成人在线观看| 久久综合色婷婷| 一本色道a无线码一区v| 丝袜美腿亚洲综合| 中文字幕精品—区二区四季| 欧美亚洲一区三区| 国产精品中文字幕日韩精品| 亚洲一区精品在线| 久久精品视频一区二区| 欧美三级电影在线看| 狠狠色伊人亚洲综合成人| 亚洲美女屁股眼交3| 在线成人午夜影院| a4yy欧美一区二区三区| 美女精品一区二区| 一区二区三区视频在线观看| 久久综合久久久久88| 欧美另类z0zxhd电影| 不卡的电视剧免费网站有什么| 天堂av在线一区| 亚洲人成影院在线观看| 久久嫩草精品久久久精品| 欧美色精品天天在线观看视频| 丁香六月久久综合狠狠色| 免播放器亚洲一区| 一级做a爱片久久| 国产调教视频一区| 日韩精品一区二| 欧美日韩精品专区| av资源站一区| 国产高清久久久久| 精品一区在线看| 偷拍亚洲欧洲综合| 一区二区三区四区高清精品免费观看 | 午夜一区二区三区视频| 国产精品免费av| 久久久久久久久久久久久女国产乱| 538在线一区二区精品国产| av中文字幕不卡| 国产宾馆实践打屁股91| 精品一区二区三区久久| 日韩国产一二三区| 亚洲 欧美综合在线网络| 亚洲激情图片小说视频| 成人免费一区二区三区视频 | 久久国产成人午夜av影院| 亚洲成人手机在线| 亚洲国产日韩一区二区| 亚洲欧美日本在线| 亚洲丝袜另类动漫二区| 日韩美女精品在线| 国产精品激情偷乱一区二区∴| 国产午夜一区二区三区| 国产亚洲综合色| 久久久久97国产精华液好用吗| 精品少妇一区二区三区在线播放| 欧美日韩一区三区| 制服丝袜av成人在线看| 欧美一区二区三区小说| 日韩视频一区在线观看| 日韩免费一区二区三区在线播放| 日韩一区二区免费高清| 久久综合网色—综合色88| 精品日韩成人av| 国产亚洲一区二区三区| 国产人妖乱国产精品人妖| 欧美激情一区二区三区四区| 国产精品久久久久aaaa| 亚洲免费观看在线视频| 亚洲国产精品一区二区久久恐怖片 | 男女男精品视频网| 国产一区二区不卡| 成人av中文字幕| 欧洲精品在线观看| 555夜色666亚洲国产免| 久久人人超碰精品| 国产精品久线观看视频| 亚洲免费观看在线视频| 日韩综合小视频| 久久疯狂做爰流白浆xx| 国产成人精品三级麻豆| 97国产一区二区| 欧美日韩精品一区二区三区四区| 欧美一区二区免费视频| 日本一区二区三区在线不卡| 亚洲精品成人a在线观看| 秋霞午夜av一区二区三区| 国产麻豆9l精品三级站| 91网址在线看| 日韩美女视频在线| 中文字幕一区二| 日本怡春院一区二区| 国产成人午夜视频| 欧美日韩国产欧美日美国产精品| 精品国产乱码久久久久久影片| 中文字幕制服丝袜一区二区三区 | 4hu四虎永久在线影院成人| 久久婷婷国产综合国色天香| 亚洲乱码国产乱码精品精98午夜 | 国产69精品久久久久777| 欧美性欧美巨大黑白大战| 精品久久久久久久久久久久包黑料| 中文一区一区三区高中清不卡| 日韩高清不卡在线| 99精品国产视频| 久久亚洲精品小早川怜子| 亚洲午夜激情av| 懂色一区二区三区免费观看| 欧美久久久久久久久久| 国产精品久久久久久一区二区三区| 男男视频亚洲欧美| 一本大道久久a久久综合婷婷| 精品国产一区二区国模嫣然| 洋洋av久久久久久久一区| 成人性色生活片免费看爆迷你毛片| 欧美老年两性高潮| 亚洲色图制服丝袜| 国产成人av一区二区| 日韩免费高清av| 午夜不卡在线视频| 91视频精品在这里| 中文字幕成人av| 国产在线一区二区综合免费视频| 欧美日韩久久久久久| 亚洲私人影院在线观看| 国产精品亚洲人在线观看| 欧美一级黄色大片| 婷婷一区二区三区| 欧美日韩午夜在线| 亚洲午夜久久久久中文字幕久| 97se亚洲国产综合在线| 日本一区二区在线不卡| 黄网站免费久久| 欧美大片日本大片免费观看| 五月天久久比比资源色| 在线欧美一区二区| 樱桃国产成人精品视频| 97成人超碰视| 亚洲色图一区二区三区| 99久久综合99久久综合网站| 日本一区二区三区四区| 国产99久久精品| 日本一区二区在线不卡| 成人一区二区三区中文字幕| 国产日产欧美一区| 成人在线综合网| 国产精品国产三级国产aⅴ入口 | 久久99国产精品麻豆| 日韩免费一区二区三区在线播放| 热久久一区二区| 26uuu色噜噜精品一区二区| 国产真实精品久久二三区| 久久精品在线观看| 成人开心网精品视频| 中文字幕一区二区三| 在线一区二区三区做爰视频网站| 亚洲精品日日夜夜| 欧美日韩国产三级| 久久精品国产秦先生| 2014亚洲片线观看视频免费| 风间由美中文字幕在线看视频国产欧美 | 国产精品国产三级国产aⅴ中文 | 成人a区在线观看| 亚洲另类中文字| 欧美一区二区三区四区视频 | 最近日韩中文字幕| 在线亚洲免费视频| 男女男精品视频| 国产欧美日韩另类一区| 97久久久精品综合88久久| 一区二区在线观看免费视频播放| 欧美日韩亚洲另类| 国模少妇一区二区三区| 自拍偷自拍亚洲精品播放| 欧美老年两性高潮| 国产91清纯白嫩初高中在线观看| 成人免费在线视频| 日韩精品最新网址|