?? sd_uart.c
字號:
/**************************************
File : SD_UART.C
Project : BDTRV20_MCU_V07
Description : 串口發(fā)數(shù)函數(shù)
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 + -