📄 sc1.c
字号:
}
else find_ctr();
break;
case 'S'://返回工作状态
if(ReceiveSequence[1]=='J')
{clear();
all_show(bian2,1,3); //GUAN机装边瓣
RS_go(3);
wait_gflag=1;
}
RS_go(4);
break;
case 'a'://返回方位俯仰理论值
RS_go(10);
break;
case 'G'://AGC此处协议已经修改R后面增加一位表“+/-”G****R****o
RS_go(1);
RS_clr();
if(ReceiveSequence[9]==0x0A)
// if(ReceiveSequence[9]=='o')
{
saveparam_agc=judge_num(ReceiveSequence,4,100);
RS_go(5);
if(ReceiveSequence[0]=='-')
neg_flag=1;
if(ReceiveSequence[0]=='+')
neg_flag=0;
RS_go(1);
saveparam_jihua=judge_num(ReceiveSequence,3,10);
RS_go(4);
RS_clr();
lock1=1;
}
else find_ctr();
break;
case 'H':
RS_go(1);
RS_clr();
if(ReceiveSequence[2]==0x0A)
// if(ReceiveSequence[2]=='o')
{
saveparam.param.Track_agc=judge_num(ReceiveSequence,2,10);
RS_go(3);
RS_clr();
}
else find_ctr();
break;
case 'C'://罗盘读数
RS_go(1);
RS_clr();
if(ReceiveSequence[4]==0x0A)
// if(ReceiveSequence[4]=='o')
{
saveparam.param.luopan=judge_num(ReceiveSequence,4,10);
RS_go(5);
RS_clr();
}
else find_ctr();
break;
case 'F':
RS_go(1);
RS_clr();
if(ReceiveSequence[7]==0x0A)
// if(ReceiveSequence[7]=='o')
{ if(judge_num(ReceiveSequence,7,1000)>=940 & judge_num(ReceiveSequence,7,1000)<=1500)
saveparam.param.rec_freq=judge_num(ReceiveSequence,7,1000);
RS_go(8);
RS_clr();
}
else find_ctr();
break;
case 'L':
RS_go(1);
RS_clr();
if(ReceiveSequence[6]==0x0A)
// if(ReceiveSequence[6]=='o')
{
saveparam.param.sat_long=judge_num(ReceiveSequence,4,10);
RS_go(5);
if(ReceiveSequence[0]=='H')
saveparam.param.polar_vet=0;//水平
else
saveparam.param.polar_vet=1; //垂直
RS_go(2);
RS_clr();
}
else find_ctr();
break;
case 'J'://经度
RS_go(1);
RS_clr();
if(ReceiveSequence[6]==0x0A)
//if(ReceiveSequence[6]=='o')
{
saveparam.param.Station_long=judge_num(ReceiveSequence,4,10);
RS_go(7);
RS_clr();
}
else find_ctr();
break;
case 'W'://纬度
RS_go(1);
RS_clr();
if(ReceiveSequence[5]==0x0A)
// if(ReceiveSequence[5]=='o')
{
saveparam.param.Station_lat=judge_num(ReceiveSequence,3,10);
RS_go(6);
RS_clr();
}
else find_ctr();
break;
case 'P':
if(ReceiveSequence[2]=='!')
{
all_show(scwb,1,3);
RS_go(3);
}
else find_ctr();
break;
case 'K':
if(ReceiveSequence[1]=='!')
{
RS_go(2);
clear();
all_show(initok,1,3);
layer[1]=0;
}
else if(ReceiveSequence[1]=='J')
{clear();
all_show(bian1,1,3); //KAI机装边瓣
RS_go(3);
RS_clr() ;
wait_kflag=1;
}
else find_ctr();
break;
case 'O':
RS_go(1);
RS_clr();
if(ReceiveSequence[8]==0x0A)
// if(ReceiveSequence[8]=='o')
{
saveparam.param.Station_long=judge_num(ReceiveSequence,4,10);
RS_go(5);
RS_clr() ;
saveparam.param.Station_lat=judge_num(ReceiveSequence,3,10);
RS_go(4);
RS_clr() ;
}
else find_ctr();
break;
case 'Q':
if(ReceiveSequence[1]=='1')
{clear();
all_show(pro1,1,3);
RS_go(3);
RS_clr();
continue_flag=1;
layer[1]=0;
}
else if(ReceiveSequence[1]=='2')
{clear();
all_show(pro2,1,3);
RS_go(3);
continue_flag=1;
layer[1]=0;
}
else if(ReceiveSequence[1]=='3')
{clear();
all_show(pro3,1,3);
RS_go(3);
continue_flag=1;
layer[1]=0;
}
else if(ReceiveSequence[1]=='4')//GPS正在读数,请稍等
{clear();
all_show(gps_r,1,3);
RS_go(3);
}
else if(ReceiveSequence[1]=='5')//断电保护请复位
{clear();
all_show(protect,1,3);
RS_go(3);
}
else if(ReceiveSequence[1]=='6')//复位完毕,请设置
{clear();
all_show(restartok,1,3);
RS_go(3);
layer[1]=3;
layer[2]=1;
lock1=1;
}
else if(ReceiveSequence[1]=='o')
{clear();
all_show(gps_o,1,2);
RS_go(3);
}
else find_ctr();
break;
case 'R':
if(ReceiveSequence[1]=='s')
{
// PIN_CLEAR();
//all_show(restartok,1,2);
/**********************
**********error******
*********************
*********************/
RS_go(3);
RS_clr() ;
}
else find_ctr();
break;
case 'X':
if(ReceiveSequence[1]=='!')
{
x_flag=1;
y_flag=0;
RS_go(2); }
else find_ctr();
break;
case 'Y':
if(ReceiveSequence[1]=='!')
{
y_flag=1;
x_flag=0;
RS_go(2); }
else find_ctr();
break;
case 'j'://纬度
RS_go(1);
if(ReceiveSequence_Len>100)
ReceiveSequence_Len=0;
if(ReceiveSequence[7]==0x0A)
// if(ReceiveSequence[7]=='o')
{
char i=0;
if(ReceiveSequence[i]=='1')
j_flag=1;
else j_flag=0;
i=i+2;
if(ReceiveSequence[i]=='1')
q_flag=1;
else q_flag=0;
i=i+2;
if(ReceiveSequence[i]=='1')
g_flag=1;
else g_flag=0;
i=i+2;
if(ReceiveSequence[i]=='1')
p_flag=1;
else p_flag=0;
RS_go(10);
RS_clr();
}
else find_ctr();
break;
default:
find_ctr();
break;
}
IE2 |=BIT5;//开发送中断
}
void watch1(void)
{
if((ReceiveSequence_Len>40)&&(flag==0))
ReceiveSequence_Len=0;
if(ReceiveSequence_Len>90)
ReceiveSequence_Len=0;
if((ReceiveSequence_Len>0)&&(flag>=1))
{
flag--;//命令结束标志
for(i=0;i<100;i++)
{
if((ReceiveSequence[i]>0x7A)|(ReceiveSequence[i]<0x41)) //不是26个英文字
{
for(i=0;i<100;i++)
{
ReceiveSequence[i]=ReceiveSequence[i+1];//空过第一位,判断从下一位开
}
}
else
break;
}
character1 = ReceiveSequence[0];//在此设中断,察看character1,2的值,看接收到什么数据
character2 = ReceiveSequence[1];
Judge_Instruction_And_Go(character1,character2);
}
}
void pack_panel(void)
{clear();
PIN_CLEAR();
all_show(pack,1,3);
_DINT();
Delay(20);
_EINT();
}
void rec_clr(void)
{
for(j=0;j<6;j++)
s1_rec[j]='\0';
for(j=0;j<5;j++)
s3_rec[j]='\0';
for(j=0;j<7;j++)
s4_rec[j]='\0';
for(j=0;j<9;j++)
s5_rec[j]='\0';
for(j=0;j<9;j++)
s8_rec[j]='\0';
}
void key_ch(void)
{
switch(key)
{
case KEY_0 :
char_temp='0';
break;
case KEY_1 :
char_temp='1';
break;
case KEY_2 :
char_temp='2';
break;
case KEY_3 :
char_temp='3';
break;
case KEY_4 :
char_temp='4';
break;
case KEY_5 :
char_temp='5';
break;
case KEY_6 :
char_temp='6';
break;
case KEY_7 :
char_temp='7';
break;
case KEY_8 :
char_temp='8';
break;
case KEY_9 :
char_temp='9';
break;
case KEY_DOT:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -