⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cz_hb.c

📁 单片机C源程序souce
💻 C
字号:
/**************************************
File          :  CZ_HB.C
Project       :  BDTRV20_MCU_V07
Description   :  重组@@hb帧
Created       :  2006.11.7
Last updata   :  
Author        :  Sunzehui   sunzehui@zzvcom.com
Compile Tool  :  Keil uVision2
Target Device :  SST89V564RD
Circuit Board :  BD7700
************************************
Modification History
************************************
 Version      : v2.0
 Date         : MM/DD/YYYY
 Modifier     :
 Description  :

 **********************************
 -- Copyright (c)
*************************************/

#include "ext_temp.h"

extern wdt(void);
extern cz_hb(void)
	{
	long xdata p;
	unsigned char i,temp;

    wdt();

	RXLen =0;
	sdata[0]='@';sdata[1]='@';
	sdata[2]='H';sdata[3]='b';
	sdata[4]=month;
	sdata[5]=day;
	sdata[6]=year>>8;
	sdata[7]=year;
	sdata[8]=hour;
	sdata[9]=min;
	sdata[10]=sec;
	sdata[11]=0x00;
	sdata[12]=0x00;
	sdata[13]=0x00;
	sdata[14]=0x00;
	/*******纬度*********/
	for (i=15;i<=26;i++)
	   {
		if(i>=15&&i<=18) //纬度
		  p=lat_par; 
		else if(i>=19&&i<=22)//经度
		  p=long_par;
		else if(i>=23&&i<=26)//高度
		  p=high_par;
		sdata[i+3]=p;
		p=p>>8;
		sdata[i+2]=p;
		p=p>>8;
		sdata[i+1]=p;
		p=p>>8;
		sdata[i]=p;
		i=i+3;
	   }
/*	   if(i>=15&&i<=18) //纬度
			{
			p=lat_par;
			sdata[18]=p;
			p=p>>8;
			sdata[17]=p;
			p=p>>8;
			sdata[16]=p;
			p=p>>8;
			sdata[15]=p;
			}
	   else if(i>=19&&i<=22)//经度
	       {
			p=long_par;
			sdata[22]=p;
			p=p>>8;
			sdata[21]=p;
			p=p>>8;
			sdata[20]=p;
			p=p>>8;
			sdata[19]=p;		   
		   }
	   else if(i>=23&&i<=26)//高度
	       {
			p=high_par;
			sdata[26]=p;
			p=p>>8;
			sdata[25]=p;
			p=p>>8;
			sdata[24]=p;
			p=p>>8;
			sdata[23]=p;		   
		   }
	   }*/
/*	p=lat_par;
	sdata[18]=p;
	p=p>>8;
	sdata[17]=p;
	p=p>>8;
	sdata[16]=p;
	p=p>>8;
	sdata[15]=p;
	/*****经度*********/
/*	p=long_par;
	sdata[22]=p;
	p=p>>8;
	sdata[21]=p;
	p=p>>8;
	sdata[20]=p;
	p=p>>8;
	sdata[19]=p;
	/*****高度*********/
/*	p=high_par;
	sdata[26]=p;
	p=p>>8;
	sdata[25]=p;
	p=p>>8;
	sdata[24]=p;
	p=p>>8;
	sdata[23]=p;
	/*****************/
//	RXLen=27;
	/****mmmm**********/
	for(i=27;i<=38;i++)
		{
		sdata[i]=0x00;
		}		
/*	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	/****VVvvhhdd****/
/*	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	sdata[RXLen++]=0x00;
	/*********n********/
/*	if (channel_pps_en==0x00)
	    {sdata[39]=0x00;  
	    /**t 跟踪卫星数***/
/*	    sdata[40]=0x00;}
	else if (channel_pps_en==0x01||channel_pps_en==0x02)
	    {sdata[39]=0x01;  
	    /**t 跟踪卫星数***/
/*	    sdata[40]=0x01;}
	else if (channel_pps_en==0x03)
	    {sdata[39]=0x02;  
	    /**t 跟踪卫星数***/
/*	    sdata[40]=0x02;}	*/
     //n可见卫星数
	 sdata[39]=0x02; //可见卫星数一直为2
/*	 if ((channel_sta_1&0x40==0)&&(channel_sta_1&0x40==0))
	     sdata[40]=0x00;
	 else if((channel_sta_1&0x40==0x40)&&(channel_sta_1&0x40==0))
	     sdata[40]=0x01;
	 else if((channel_sta_1&0x40==0)&&(channel_sta_1&0x40==0x40))
	     sdata[40]=0x01;
	 else if((channel_sta_1&0x40==0x40)&&(channel_sta_1&0x40==0x40))
	     sdata[40]=0x02;*/
 /*   if ((channel_beam_1==0||channel_beam_1==1)&&(channel_beam_2==0||channel_beam_2==1))
	      sdata[56]=0x01;
	 else if((channel_beam_1==0||channel_beam_1==1)&&(channel_beam_2==2||channel_beam_2==3))
	      sdata[56]=0x02;
	 else if((channel_beam_1==2||channel_beam_1==3)&&(channel_beam_2==0||channel_beam_2==1))
	      sdata[56]=0x02;
	 else if((channel_beam_1==2||channel_beam_1==3)&&(channel_beam_2==2||channel_beam_2==3))
	      sdata[56]=0x01;*/
	 ///for test
	 sdata[40]=0x04;

	/*********ss***********/
	if (channel_pps_en==0x00)
		{sdata[41]=0x60;// 0x60 搜索卫星
		sdata[42]=0x87; //可视卫星数不够
		}
	else
	    {sdata[41]=0x80;//0x80 位置模式 
	    //sdata[42]=0x8f;
		 sdata[42] =0x89;//天线正常
		}
/*	sdata[41]=0x60;//0x80 位置模式  0x60 搜索卫星
	sdata[42]=0x00;*/
	/******rr**********/
	sdata[43]=0x00;
	sdata[44]=0x00;
	/*******vvvvvv*****/
	for(i=45;i<=50;i++)
		sdata[i]=ID[i-45];
/*	sdata[45]=66;//B
	sdata[46]=68;//D
	sdata[47]=55;//7
	sdata[48]=55;//7 
	sdata[49]=48;//0
	sdata[50]=48;//0*/
	/*********C********/
	temp=0;
	for(i=2;i<51;i++)
		temp=temp^sdata[i];
	sdata[51]=temp; //校验和
	sdata[52]=0x0d;
	sdata[53]=0x0a;
	RXLen =54;
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -