📄 protocol.lst
字号:
496 6 Write1B(Short_En,240+(House_R-1)/8);
497 6 Write1B(Short_Bak,170+(House_R-1)/8);
498 6
499 6 Break_En=Read1B(245+(House_R-1)/8);
500 6 Break_Bak=Read1B(175+(House_R-1)/8);
501 6 if (Rcv_Tmp&0x10)
502 6 {
503 7 Break_En|=(1<<((House_R-1)%8));
504 7 }
505 6 else
506 6 {
507 7 Break_En&=~(1<<((House_R-1)%8));
508 7 Break_Bak&=~(1<<((House_R-1)%8));
509 7 Break_New[(House_R-1)/8]=0;
510 7 }
511 6 Write1B(Break_En,245+(House_R-1)/8);
512 6 Write1B(Break_Bak,175+(House_R-1)/8);
513 6
514 6 Power_En=Read1B(160+(House_R-1)/8+0x100);
515 6 if (Rcv_Tmp&0x40)
516 6 {
517 7 Power_En|=(1<<((House_R-1)%8));
518 7 }
519 6 else Power_En&=~(1<<((House_R-1)%8));
520 6 Write1B(Power_En,160+(House_R-1)/8+0x100);
521 6 }
522 5 }
523 4 else //0xff
524 4 {
525 5 if(Rcv_Buf[Rcv_Rp+10]!=0xff)
526 5 {
527 6 if (Rcv_Buf[Rcv_Rp+10]&0x80) //Hdd_En
528 6 {
529 7 for(i=0;i<5;i++)
530 7 {
531 8 Write1B(0xff,250+i);
532 8 }
533 7 }
534 6 else
535 6 {
536 7 for(i=0;i<5;i++)
537 7 {
538 8 Write1B(0x0,250+i);
539 8 }
540 7 }
541 6 //Type
542 6 Rcv_Tmp=Rcv_Buf[Rcv_Rp+10]&0x0f;
543 6 for(i=0;i<40;i++)
544 6 {
545 7 Tmp=Read1B(200+i);
546 7 Tmp&=0xf0;
547 7 Rcv_Tmp|=Tmp;
548 7 Write1B(Rcv_Tmp,200+i);
549 7 }
550 6 }
551 5
C51 COMPILER V6.12 PROTOCOL 01/10/2005 07:10:30 PAGE 10
552 5 if(Rcv_Buf[Rcv_Rp+16]!=0xff) //Point
553 5 {
554 6 Rcv_Tmp=Rcv_Buf[Rcv_Rp+16];
555 6 Rcv_Tmp<<=4;
556 6 for(i=0;i<40;i++)
557 6 {
558 7 Tmp=Read1B(200+i);
559 7 Tmp&=0x0f;
560 7 Rcv_Tmp|=Tmp;
561 7 Write1B(Rcv_Tmp,200+i);
562 7 }
563 6 }
564 5 //CONST
565 5 if(Rcv_Buf[Rcv_Rp+14]!=0xff)
566 5 {
567 6 Rcv_Tmp=Rcv_Buf[Rcv_Rp+14];
568 6 Rcv_Tmp<<=4;
569 6 for(i=0;i<40;i++)
570 6 {
571 7 Tmp=Read1B(120+i+0x100);
572 7 Tmp&=0x0f;
573 7 Rcv_Tmp|=Tmp;
574 7 Write1B(Rcv_Tmp,120+i+0x100);
575 7 }
576 6 }
577 5 //RANGE
578 5 if(Rcv_Buf[Rcv_Rp+15]!=0xff)
579 5 {
580 6 Rcv_Tmp=Rcv_Buf[Rcv_Rp+15]&0x0f;
581 6 for(i=0;i<40;i++)
582 6 {
583 7 Tmp=Read1B(120+i+0x100);
584 7 Tmp&=0xf0;
585 7 Rcv_Tmp|=Tmp;
586 7 Write1B(Rcv_Tmp,120+Tmp+0x100);
587 7 }
588 6 }
589 5 Rcv_Tmp=Rcv_Buf[Rcv_Rp+17];
590 5 if(Rcv_Tmp!=0xff)
591 5 {
592 6 //Short_En
593 6 for(i=0;i<5;i++)
594 6 {
595 7 if (Rcv_Tmp&0x04)
596 7 {
597 8 Short_En=0xff;
598 8 }
599 7 else Short_En=0;
600 7 Write1B(Short_En,240+i);
601 7 }
602 6 //Break_En
603 6 for(i=0;i<5;i++)
604 6 {
605 7 if (Rcv_Tmp&0x10)
606 7 {
607 8 Break_En=0xff;
608 8 }
609 7 else Break_En=0;
610 7 Write1B(Break_En,245+i);
611 7 }
612 6 //Power_En
613 6 for(i=0;i<5;i++)
C51 COMPILER V6.12 PROTOCOL 01/10/2005 07:10:30 PAGE 11
614 6 {
615 7 if (Rcv_Tmp&0x40)
616 7 {
617 8 Power_En=0xff;
618 8 }
619 7 else Power_En=0;
620 7 Write1B(Power_En,160+i+0x100);
621 7 }
622 6 }
623 5
624 5 }
625 4 Trs_Comm=0xbb;
626 4 Trs_Comm_Bak=0xb1;
627 4 Trs_Flag=1;
628 4 HddEn_Count=1;
629 4 /* HddEn_Sum=0;
630 4 for (i=0;i<5;i++)
631 4 {
632 4 Hdd_En=Read1B(250+i);
633 4 for(j=0;j<8;j++)
634 4 {
635 4 if((Hdd_En&(1<<j))!=0)
636 4 {
637 4 HddEn_Sum++;
638 4 House_Max=i*8+j+1;
639 4 }
640 4 }
641 4 } */
642 4 }
643 3 break;
644 3 case (0x32):
645 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
646 3 {
647 4 Trs_Comm=0xb2;
648 4 House_R=Rcv_Buf[Rcv_Rp+9];
649 4 Trs_Flag=1;
650 4 B3=0;
651 4 }
652 3 break;
653 3 case (0x33):
654 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
655 3 {
656 4 House_R=Rcv_Buf[Rcv_Rp+9];
657 4 Hdd_Str.Hdd_B[3]=Rcv_Buf[Rcv_Rp+10];
658 4 Hdd_Str.Hdd_B[2]=Rcv_Buf[Rcv_Rp+11];
659 4 Hdd_Str.Hdd_B[1]=Rcv_Buf[Rcv_Rp+12];
660 4 Hdd_Str.Hdd_B[0]=Rcv_Buf[Rcv_Rp+13];
661 4 if(House_R==0xff)
662 4 {
663 5 for(i=0;i<40;i++)
664 5 {
665 6 Write_Hdd(i);
666 6 }
667 5 }
668 4 else
669 4 {
670 5 Write_Hdd(House_R-1);
671 5 }
672 4 Trs_Comm=0xbb;
673 4 Trs_Comm_Bak=0xb3;
674 4 Trs_Flag=1;
675 4 }
C51 COMPILER V6.12 PROTOCOL 01/10/2005 07:10:30 PAGE 12
676 3 break;
677 3 case (0x34):
678 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
679 3 {
680 4 House_R=Rcv_Buf[Rcv_Rp+9];
681 4 Alarm_Select=Rcv_Buf[Rcv_Rp+10];
682 4 Trs_Comm=0xb4;
683 4 Trs_Flag=1;
684 4 }
685 3 break;
686 3 case (0x35): //Clear Alarm
687 3 if(Rcv_Buf[Rcv_Rp+7]==Station)
688 3 {
689 4 Trs_Comm=0xbb;
690 4 Trs_Comm_Bak=0xb5;
691 4 Trs_Flag=1;
692 4 }
693 3 if(Rcv_Buf[Rcv_Rp+7]==Station
694 3 ||(Rcv_Buf[Rcv_Rp+7]==0xff&&Rcv_Buf[Rcv_Rp+8]==0xff))
695 3 {
696 4 House_R=Rcv_Buf[Rcv_Rp+9];
697 4 Alarm_Check=1;
698 4 if(House_R!=0xff)
699 4 {
700 5
701 5 if (Rcv_Buf[Rcv_Rp+10]&0x04) //Short
702 5 {
703 6 i=Read1B(170+(House_R-1)/8);
704 6 i&=~(1<<((House_R-1)%8));
705 6 Write1B(i,170+(House_R-1)/8);
706 6 Short_New[(House_R-1)/8]=i;
707 6 }
708 5 if (Rcv_Buf[Rcv_Rp+10]&0x10) //Break
709 5 {
710 6 i=Read1B(175+(House_R-1)/8);
711 6 i&=~(1<<((House_R-1)%8));
712 6 Write1B(i,175+(House_R-1)/8);
713 6 Break_New[(House_R-1)/8]=i;
714 6 }
715 5
716 5 }
717 4 else
718 4 {
719 5 if (Rcv_Buf[Rcv_Rp+10]&0x04)
720 5 {
721 6 for(i=0;i<5;i++)
722 6 {
723 7 Write1B(0,170+i);
724 7 }
725 6 }
726 5 if (Rcv_Buf[Rcv_Rp+10]&0x10)
727 5 {
728 6 for(i=0;i<5;i++)
729 6 {
730 7 Write1B(0,175+i);
731 7 }
732 6 }
733 5
734 5 }
735 4 }
736 3 break;
737 3 /* case (0x37): //Yk TongDuan
C51 COMPILER V6.12 PROTOCOL 01/10/2005 07:10:30 PAGE 13
738 3
739 3 if(Rcv_Buf[Rcv_Rp+7]==Relay_Station
740 3 ||(Rcv_Buf[Rcv_Rp+7]==0xff&&Rcv_Buf[Rcv_Rp+8]==0xff))
741 3 {
742 3 House_R=Rcv_Buf[Rcv_Rp+9];
743 3 RelayOffTimes[House_R-1]=0;
744 3 }
745 3
746 3
747 3 break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -