📄 dvs-comprotoc.lst
字号:
310 1 luc_temp = RsBuf[5];
311 1 if((0<luc_temp)&&(luc_temp<=180))
312 1 {
313 2 WrEEPROM(Alar_TI_Addr,luc_temp);
314 2 luc_temp = 0x00;
315 2 RxTCPSame(SET_COM_WAR_TIME,1,&luc_temp); //返回网络模块,成功
316 2 }
317 1 else
318 1 {
319 2 luc_temp = 0x01;
320 2 RxTCPSame(SET_COM_WAR_TIME,1,&luc_temp); //返回网络模块,所带的参数非法
321 2 }
322 1 }
323
324 //===============================================================================================
325 //语法格式: SetTelKeepAlive()
326 //实现功能: 心跳
327 //输入参数: 无
328 //输出返回: 无
329 //创建时间:2009-02-20 修改时间:
330 //创建人员: 修改人员:
331 //===============================================================================================
332 unsigned char code TELKEEP_TAB[4]={0x00,0x01,0x00,0x79};
333 void SetTelKeepAlive()
334 {
335 1 unsigned char idata luc_i ;
336 1 bit lucbitok;
337 1 for(luc_i = 0 ; luc_i < 4 ;luc_i ++ )
338 1 {
339 2 if(RsBuf[luc_i+2] == TELKEEP_TAB[luc_i]) lucbitok = 1; //如果协议相等则赋1
340 2 else
341 2 {
342 3 lucbitok = 0 ; //否则赋0,并退出
343 3 break;
344 3 }
345 2 }
346 1 luc_i = 0 ;
347 1 if(lucbitok) RxTCPSame(TEL_ALARM_KEEP_ALIVE,1,&luc_i); //如果协议相等返回心跳
348 1 }
349
350
351
352
353 //===============================================================================================
354 //语法格式: QueriesComAlarTimee()
355 //实现功能: 查询警号时间
356 //参数: 无
357 //返回: 无
358 //创建时间:2009-02-14 修改时间:
359 //创建人员: 修改人员:
360 //===============================================================================================
361 void QueriesComAlarTimee() //查询串口警号声时间
362 {
363 1 unsigned char idata luc_temp ;
364 1
365 1 luc_temp = RdEEPROM(Alar_TI_Addr) ;
C51 COMPILER V7.06 DVS_COMPROTOC 02/27/2009 15:46:10 PAGE 7
366 1 if((luc_temp>=100)||(luc_temp==0)) //如果数据没在1-99之间,重新获取,默认30
367 1 {
368 2 luc_temp = ALARSOURTIME ;
369 2 WrEEPROM(Alar_TI_Addr,luc_temp); //保存警号时间
370 2 }
371 1 RxTCPSame(SET_COM_WAR_TIME,1,&luc_temp) ; //返回警号声时间
372 1 }
373
374
375
376 //===============================================================================================
377 //语法格式: ProbeAlar()
378 //实现功能: 探测器报警,又名有线报警
379 //参数: 无
380 //返回: 无
381 //创建时间:2009-02-14 修改时间:
382 //创建人员: 修改人员:
383 //===============================================================================================
384 void ProbeAlar() // 探测器报警,有线报警
385 {
386 1 unsigned char idata luc_temp ;
387 1 guc_AlarCnt = 0; // 电话号码清0,表示每次报警都从第一组电话号码开始拔
388 1 guc_bit_SenAlar = 1; // 传感器报警
389 1 guc_BitTel = 1 ; // 拔打电话标致位
390 1 ONAlarSoun() ; // 打开警号
391 1 luc_temp = 0; // 返回数据区为0
392 1 RxTCPSame(MPROBE_ALAR,1,&luc_temp); // 返回网络模块
393 1 }
394
395
396
397
398 //===============================================================================================
399 //语法格式: RsDisProtoc()
400 //实现功能: 处理串口协议
401 //参数: 无
402 //返回: 无
403 //创建时间:2008-12-26 修改时间:
404 //创建人员: 修改人员:
405 //===============================================================================================
406 void RsDisProtoc()
407 {
408 1 unsigned char data luc_type;
409 1 luc_type = RsBuf[1]; // 获取命令字
410 1 switch(luc_type)
411 1 {
412 2 case SET_COM_PHONE : SetComPhone(); break; // 设置串口电话号码
413 2 case QUERIES_COM_PHONE : QueriesComPhone(); break; // 查询串口电话号码
414 2 // case DEL_COM_PHONE : DelComPhone(); break; // 删除串口电话号码
415 2 case SET_COM_ARMED : SetComArmed(); break; // 设置串口布/撤防
416 2 case QUERIES_COM_ARMED : QueriesComArmed(); break; // 查询串口布/撤防
417 2 case SET_COM_WAR_TIME : SetComWarTime(); break; // 设置串口警号声时间
418 2 case QUERIES_COM_WAR_TIME : QueriesComAlarTimee(); break; // 查询串口警号声时间
419 2 case TEL_ALARM_KEEP_ALIVE : SetTelKeepAlive(); break; // 心跳
420 2 case MPROBE_ALAR : ProbeAlar() ; break; // 探测器报警,有线报警
421 2 default:break;
422 2 }
423 1 }
424
425
426 //===============================================================================================
427 //语法格式: ScanComProtoc()
C51 COMPILER V7.06 DVS_COMPROTOC 02/27/2009 15:46:10 PAGE 8
428 //实现功能: 扫描串口协议
429 //参数: 无
430 //返回: 无
431 //创建时间:2008-12-24 修改时间:
432 //创建人员: 修改人员:
433 //===============================================================================================
434 void ScanComProtoc()
435 {
436 1 // unsigned char data luc_i ;
437 1 //if(guc_bitRsCom)
438 1 //{
439 1 ES = 0 ; //关闭接收中断,防止再接收产生的干扰
440 1 TR2 = 0; //关闭定时器2
441 1 // if(RsBuf[1]==TEL_ALARM_KEEP_ALIVE)SetTelKeepAlive(); //心跳
442 1 // else if(judgeTCPSame())
443 1 RsDisProtoc(); //判断协议是否相同
444 1 RsBuf[0] = 0x00;
445 1 // for(luc_i = 0 ; luc_i < 30 ; luc_i ++)
446 1 // {
447 1 // RsBuf[luc_i] = 0x00;
448 1 // }
449 1 ES = 1 ; //恢复接收
450 1 TR2 = 1; //开启定时器2
451 1 guc_bitRsCom = 0;
452 1 // }
453 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 746 ----
CONSTANT SIZE = 9 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 11
IDATA SIZE = ---- 27
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -