📄 tcpip_chuli_task.c
字号:
Reply_TCPIP_SET_OK(18);
}
break;
case 19: //19 报警延时时间设置
Para_all_True.BaoJing_Delay_Time=GPRS_RX_Buff[2];
Para_all_True.Change_Flag=1 ; //
Reply_TCPIP_SET_OK(19);
break;
case 20: //20 录音
break;
case 21: //21 放音
break;
case 22: //22 恢复出厂设置
//Para_all_True.A5A5=0;
//Para_all_True.Change_Flag=1;
FLASH_INIT(0) ;
Reply_TCPIP_SET_OK(22);
break;
case 23: //23 警情查询
MPPo1=(uchar *)&struct_JingQing_JiLu_True[0].bak[0];
MPPo2=(uchar *)&struct_JingQing_JiLu_True[100].bak[0];
for(ii=0;ii<90;ii++) { //移动首10条到100后面,方便打包
Mbufrem=*MPPo1++;
*MPPo2++=Mbufrem ;
}
num=GPRS_RX_Buff[2];
if(num>10||GPRS_RX_Buff[3]>struct_JingQing_JiLu_True[0].bak[0]||struct_JingQing_JiLu_True[0].bak[0]==0||GPRS_RX_Buff[3]==0) { //最多一次取10 条,否则返回错
Reply_JTX_0x24_Set_False();
break;
}
ii=0;
while(ii<100) {
if(struct_JingQing_JiLu_True[ii].bak[1]==GPRS_RX_Buff[3]) {
startn=ii;
break;
}
ii++;
}
ii=GPRS_RX_Buff[3]+num-1;
if(ii>struct_JingQing_JiLu_True[0].bak[0]) {
num=struct_JingQing_JiLu_True[0].bak[0]-GPRS_RX_Buff[3]+1;
}
DaBao_TCPIP_And_Send(23, &struct_JingQing_JiLu_True[startn].bak[0],9*num);
break;
case 24: //24 清除所有警情命令
//清除所有报警 记录
Clr_BaoJingJiLu_All() ;
Reply_TCPIP_SET_OK(24);
break;
case 25: //25 IP地址查询 +APN + ID
DaBao_TCPIP_And_Send(25, &Para_all_True.IP[0],22);
break;
case 26: //26 报警电话查询
//回复的数据不包括序号
num=GPRS_RX_Buff[2];
if(num>0&&num<=5) { //12345
Len=Para_all_True.Phone_1To6[num-1][0]+1;
DaBao_TCPIP_And_Send(26, &Para_all_True.Phone_1To6[num-1][0],Len);
}
else {
Reply_TCPIP_Set_False(26);
}
break;
case 27: //27 其它参数查询
DaBao_TCPIP_And_Send(27, &Para_all_True.BuFang_Delay_Time,11);
break;
case 28: //28 密码查询
DaBao_TCPIP_And_Send(28, &Para_all_True.Mima[0],6);
break;
case 29: //29 设APN
MoveByte(&Para_all_True.My_Apn[0], &GPRS_RX_Buff[2],10);
Para_all_True.Change_Flag=1 ; //
Reply_TCPIP_SET_OK(29);
break;
case 30: //30 查询APN
DaBao_TCPIP_And_Send(30, &Para_all_True.My_Apn[0],10);
break;
case 31: //31 警号鸣响时长设定
Para_all_True.Spk_cnt_Time=GPRS_RX_Buff[2];
Para_all_True.Change_Flag=1 ; //
Reply_TCPIP_SET_OK(31);
break;
case 32: //32 警号鸣响时长查询
DaBao_TCPIP_And_Send(32, &Para_all_True.Spk_cnt_Time, 1);
break;
case 33: // set ID
MoveByte(&Para_all_True.ID[0], &GPRS_RX_Buff[2],6);
Para_all_True.Change_Flag=1 ; //
Reply_TCPIP_SET_OK(33);
break;
case 34: // cha ID
DaBao_TCPIP_And_Send(34, &Para_all_True.ID[0],6);
break;
case 35: // 35 清除无线防区对码内容
MoveByte(DiZh_Tx_Buff, DuiMa_Clear_Command, 8);
Xin_DiZh_RX_B=0;
FA_DiZhen_Buff();
os_wait2(K_TMO,200);
if(Xin_DiZh_RX_B&&DiZh_Rx_Buff[0]==0x01&&DiZh_Rx_Buff[2]==0x03) {
//如果收到确认
Xin_DiZh_RX_B=0;
Reply_TCPIP_SET_OK(35);
Sound_DiDi();
}
else {
Reply_TCPIP_Set_False(35);
}
break;
case 36: // 36 系统自检
En_zijian_B=1;
ii=0;
while(En_zijian_B) { // 2.5 秒
os_wait2(K_TMO,5);
if(ii++>250) {
break;
}
}
DaBao_TCPIP_And_Send(36, &Para_all_True.DiZhenYi_status[0],5);
break;
case 55: // 55 查询屏的当前时间
Xin_Time_in_B=1; //读到新时间 标志
break;
default:
break;
}
}
/**********************************************************************
**函数原型: void Atttand_TonCen()
**入口参数:
**出口参数: 无
**返 回 值: 1: 符合要求 0: 不符骸要求
**说 明: 处理同辰来的设查命令
************************************************************************/
uchar TCPIP_IS_CS_OK() {
uchar i,sum,j;
uint itt;
if(GPRS_RX_Buff[0]!=0xee||GPRS_RX_Buff[1]!=0xee ) {
return(0);
}
for(itt=2;itt<GPRS_RX_Buff_MAX;itt++) {
GPRS_RX_Buff[itt-2]= GPRS_RX_Buff[itt];
}
//以上去掉oxee oxee
i=GPRS_RX_Buff[1];
i=i+2;
sum=0;
for(j=0;j<i;j++)
{
sum=sum+GPRS_RX_Buff[j]; // 求代数和
}
if(sum==GPRS_RX_Buff[i]&&GPRS_RX_Buff[i+1]==0xab) //校验和等且最后的字节为0XAB
return(1);
else return(0);
}
/**********************************************************************
**函数原型: uint Reply_TCPIP_QueRen()
**入口参数: 485的功能码uchar fun
**出口参数: 无
**返 回 值: 无
**说 明: 对甲天行的手柄的确认程序
*************************************************************************/
void Reply_TCPIP_QueRen() {
/* while(KEY_TX_is_over_Start_cnt_B||KEY_TX_Len!=0) os_wait2(K_TMO, 3); //等待帧间隔
GPRS_TX_Buff[0]=0x24;
GPRS_TX_Buff[1]=0x0d;
GPRS_TX_Buff[2]= 2;
GPRS_TX_Buff[3]=0x2b;
GPRS_TX_Buff[4]=0x0A;
FA_TCPIP_Buff() ;
*/
uchar rr=0;
//while(KEY_TX_is_over_Start_cnt_B||KEY_TX_Len!=0) os_wait2(K_TMO, 3); //等待帧间隔
DaBao_TCPIP_And_Send(0x2,&rr, 0);
}
/**********************************************************************
**函数原型: uint Reply_TCPIP_QueRen()
**入口参数: 485的功能码uchar fun
**出口参数: 无
**返 回 值: 无
**说 明: 对甲天行的手柄的应答成功程序
**说 明: 功能码0xaf 0xb1
*************************************************************************/
void Reply_TCPIP_SET_OK(uchar Fun) {
uchar rr=0;
rr=Fun;
// while(KEY_TX_is_over_Start_cnt_B||KEY_TX_Len!=0) os_wait2(K_TMO, 3); //等待帧间隔
DaBao_TCPIP_And_Send(0x1,&rr, 1);
}
/**********************************************************************
**函数原型: uint Reply_TCPIP_QueRen()
**入口参数: 485的功能码uchar fun
**出口参数: 无
**返 回 值: 无
**说 明: 对甲天行的手柄的应答失败程序
**说 明: 功能码0xaf 0xb1
*************************************************************************/
void Reply_TCPIP_Set_False(uchar Fun) {
uchar rr=0;
rr=Fun;
// while(KEY_TX_is_over_Start_cnt_B||KEY_TX_Len!=0) os_wait2(K_TMO, 3); //等待帧间隔
DaBao_TCPIP_And_Send(0x00,&rr, 1);
}
/**********************************************************************
**函数原型: uint Reply_TCPIP_QueRen()
**入口参数: 485的功能码uchar fun
**出口参数: 无
**返 回 值: 无
**说 明: 对甲天行的发关这程序
*************************************************************************/
void FA_TCPIP_Buff() {
GPRS_TX_Len=GPRS_TX_Buff[3]+6;
GPRS_TX_cnt=0;
GPRS_TX_Len--;
SBUF0=GPRS_TX_Buff[0];
}
/**********************************************************************
**函数原型: void Ying_da_ok(uchar fun)
**入口参数: 485的功能码uchar fun
**出口参数: 无
**返 回 值: 无
**说 明: 甲天行的手柄的打包程序并发送程序
*************************************************************************/
void DaBao_TCPIP_And_Send(uchar fun,char *Bufff,uint Lenn) {
uchar j;
uint kk;
GPRS_TX_Buff[0]=0xEE;
GPRS_TX_Buff[1]=0xEE;
GPRS_TX_Buff[2]=fun;
if(Lenn>0) {
GPRS_TX_Buff[3]= Lenn;
j=0;
for(kk=0;kk<(Lenn);kk++) {
GPRS_TX_Buff[4+kk]=*Bufff++;
j+=GPRS_TX_Buff[4+kk];
}
//j=j^GPRS_TX_Buff[0];
//j=j^GPRS_TX_Buff[1];
j=j+GPRS_TX_Buff[2];
j=j+GPRS_TX_Buff[3];
GPRS_TX_Buff[4+kk]=j;
GPRS_TX_Buff[4+kk+1]=0xab;
}
else {
GPRS_TX_Buff[3]= 0;
GPRS_TX_Buff[4]=GPRS_TX_Buff[2]+GPRS_TX_Buff[3];
GPRS_TX_Buff[5]=0xab;
}
FA_TCPIP_Buff() ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -