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

📄 sd_uart.c

📁 单片机C源程序souce
💻 C
字号:
/**************************************
File          :  SD_UART.C
Project       :  BDTRV20_MCU_V07
Description   :  串口发数函数
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 <SST89V564.H>
#include "ext_temp.h"

extern cz_ay(void);
extern cz_az(void);
extern cz_as(void);
extern cz_hb(void);
extern cz_ha(void);
extern cz_gj(void);
extern cz_hn(void);
extern cz_ia(void);
extern cz_ge(void);
extern cz_gf(void);
extern cz_gb(void);
extern wdt(void);

extern sd_uart(void)
  {unsigned char i;
   
   wdt();

	if (u_ha_fg)//ha
		{
		cz_ha();
		if (ha_feq ==0x00)
			u_ha_fg =0;
	//	else if (ha_feq ==0x01)
		 for(i=0;i<RXLen;i++)
		   {
		   SBUF =sdata[i];
	       while(!TI);//wait
	       TI=0;
			}	
		}

	if (u_hb_fg)//hb
		{
		cz_hb();
		if (hb_feq ==0x00)
			u_hb_fg =0;
	//	else if (hb_feq ==0x01)
		 for(i=0;i<54;i++)
		   {
		   SBUF =sdata[i];
	       while(!TI);//wait
	       TI=0;
			}	
		}

   if (u_cf_fg) //cf
      {
	  u_cf_fg =0;
	  u_fg =0;
	  for (i=0;i<7;i++)
	    {
		
	    SBUF =cf_sdata[i];
	    while(!TI);//wait
	    TI=0;
	    }	
	   }

	if (u_gd_fg) //gd
	   {
	   u_gd_fg =0;
	   sdata[0] ='@';sdata[1] ='@';
	   sdata[2] ='G';sdata[3] ='d';
	   sdata[4] =gd_par;
	   sdata[5] = sdata[0]^sdata[1]^sdata[2]^sdata[3]^sdata[4];//校验和
       sdata[6] =0x0D;
	   sdata[7] =0x0A;
	   for (i=0;i<8;i++)
	     {		 
	      SBUF =sdata[i];
	      while(!TI);//wait
	      TI=0;
		 }
	    }
    if (u_ch_fg) //ch
	    {
		  //**重组响应帧
		  u_ch_fg =0;
		  sdata[0]='@';sdata[1]='@';
		  sdata[2]='C';sdata[3]='h';
		  sdata[4]=channel_beam_1;
		  sdata[5]=channel_beam_2;
		  sdata[6]=sdata[2]^sdata[3]^sdata[4]^sdata[5];
		  sdata[7]=0x0d;
		  sdata[8]=0x0a;
	   for (i=0;i<9;i++)
	     {		   
	      SBUF =sdata[i];
	      while(!TI);//wait
	      TI=0;
		 }
		}
	if (u_ay_fg) //ay
		{
		cz_ay();
		u_ay_fg =0;
	    for(i=0;i<11;i++)
		   {
		   SBUF =sdata[i];
	       while(!TI);//wait
	       TI=0;
			}
		}
	if (u_az_fg) //az
		{
		cz_az();
		u_az_fg =0;
	    for(i=0;i<11;i++)
		   {
		   SBUF =sdata[i];
	       while(!TI);//wait
	       TI=0;
			}
		}

	if (u_as_fg) //as
	 	{
		cz_as();
		u_as_fg=0;
		//u_as_en=0;
		for(i=0;i<20;i++)
		   {
		   SBUF=sdata[i];
		   while(!TI);
		   TI=0;
		   }
		}
	 if (u_gj_fg)//gj
	 	{
		cz_gj();
		u_gj_fg=0;
		for(i=0;i<21;i++)
		   {
		   SBUF=sdata[i];
		   while(!TI);
		   TI=0;
		   }
		}
  
	 if (u_ia_fg)//gj
	 	{
		cz_ia();
		u_ia_fg=0;
		for(i=0;i<10;i++)
		   {
		   SBUF=sdata[i];
		   while(!TI);
		   TI=0;
		   }
		}

	if (u_hn_fg)//hn
		{
		cz_hn();
		if (hn_feq ==0x00)
			u_hn_fg =0;
	//	else if (ha_feq ==0x01)
		for(i=0;i<77;i++)
		   {
		   SBUF =sdata[i];
	       while(!TI);//wait
	       TI=0;
			}	
		}

	 if (u_ge_fg)//ge
	 	{
		cz_ge();
		u_ge_fg=0;
		for(i=0;i<8;i++)
		   {
		   SBUF=sdata[i];
		   while(!TI);
		   TI=0;
		   }
		}

	 if (u_gf_fg)//gf
	 	{
		cz_gf();
		u_gf_fg=0;
		for(i=0;i<9;i++)
		   {
		   SBUF=sdata[i];
		   while(!TI);
		   TI=0;
		   }
		}
	 if (u_gb_fg)//gb
	 	{
        if(sec_tm==1) //第二秒才显示
          {
			cz_gb();
			u_gb_fg=0;
			sec_tm=0;
			for(i=0;i<17;i++)
			   {
			   SBUF=sdata[i];
			   while(!TI);
			   TI=0;
			   }
          }
		else
		    {
             sec_tm=1;
			}
		}

	 if (u_aw_fg) //aw
	      {
		  /**组帧 ***/
		  sdata[0]='@';sdata[1]='@';
		  sdata[2]='A';sdata[3]='w';
		  if (GPS_mode_fg==0&&UTC_mode_fg==1)//UTC模式
		      sdata[4]=0x01;
		   else
		      sdata[4]=0x00;//GPS模式
		  sdata[5]=sdata[2]^sdata[3]^sdata[4];
		  sdata[6]=0x0d;
		  sdata[7]=0x0a;

		  u_aw_fg =0;
		  for (i=0;i<8;i++)
		    {
			
		    SBUF =sdata[i];
		    while(!TI);//wait
		    TI=0;
		    }	
		   }
   }

⌨️ 快捷键说明

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