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