📄 rs485.lst
字号:
540 0761 _PostValidatePacket
541 ; _d assigned to ?a_PostValidatePacket+0
542 0000 _PostValidatePacket$d set ?a_PostValidatePacket
543 ; _c assigned to ?a_PostValidatePacket+1
544 0000 _PostValidatePacket$c set ?a_PostValidatePacket
+ +1
545 ;rs485.c: 342: unsigned char c, d;
546 0761 275C fcall _CRC16_Init
547 ;rs485.c: 345: Rs485UpdateCrc(0x02);
548 0762 3002 movlw 2
549 0763 2752 120A 118A fcall _Rs485UpdateCrc
550 ;rs485.c: 346: Rs485UpdateCrc(cNetAddr);
551 0766 0825 movf _cNetAddr,w
552 0767 2752 120A 118A fcall _Rs485UpdateCrc
553 ;rs485.c: 347: Rs485UpdateCrc(cLenExpected);
554 076A 0824 movf _cLenExpected,w
555 076B 2752 120A 118A fcall _Rs485UpdateCrc
556 ;rs485.c: 348: Rs485UpdateCrc(cCommand);
557 076E 0823 movf _cCommand,w
558 076F 2752 120A 118A fcall _Rs485UpdateCrc
559 ;rs485.c: 350: if ( PacketHasPayload() )
560 0772 26D4 fcall _PacketHasPayload
561 0773 3800 iorlw 0
562 0774 1903 btfsc 3,2
563 0775 2F86 goto l62
564 ;rs485.c: 351: {
565 0776 01CA clrf ?a_PostValidatePacket+1
566 0777 l66
567 0777 0824 movf _cLenExpected,w
568 0778 024A subwf ?a_PostValidatePacket+1,w
569 0779 1803 btfsc 3,0
570 077A 2F86 goto l62
571 ;rs485.c: 353: {
572 ;rs485.c: 354: d = c485Buf[c];
573 077B 084A movf ?a_PostValidatePacket+1,w
574 077C 3EA0 addlw _c485Buf
575 077D 0084 movwf 4
576 077E 1383 bcf 3,7
577 077F 0800 movf 0,w
578 0780 00C9 movwf ?a_PostValidatePacket
579 ;rs485.c: 355: Rs485UpdateCrc( d );
580 0781 2752 120A 118A fcall _Rs485UpdateCrc
581 ;rs485.c: 356: }
582 0784 0ACA incf ?a_PostValidatePacket+1
583 0785 2F77 goto l66
584 0786 l62
585 ;rs485.c: 357: }
586 0786 3004 movlw 4
587 0787 2752 120A 118A fcall _Rs485UpdateCrc
588 ;rs485.c: 360: if ( (cRxCrcHigh == cCalcCrcHigh
+ )&&(cRxCrcLow == cCalcCrcLow) )
589 078A 082A movf _cRxCrcHigh,w
590 078B 0621 xorwf _cCalcCrcHigh,w
591 078C 1D03 btfss 3,2
592 078D 2F94 goto l67
593 078E 082B movf _cRxCrcLow,w
594 078F 0622 xorwf _cCalcCrcLow,w
595 0790 1D03 btfss 3,2
596 0791 2F94 goto l67
597 ;rs485.c: 361: {
598 0792 3009 movlw 9
599 0793 2F95 goto L7
600 ;rs485.c: 364: }
601 0794 l67
602 ;rs485.c: 366: {
603 0794 30FF movlw -1
604 0795 L7
605 0795 00A7 movwf _cRS485State
606 ;rs485.c: 369: }
607 ;rs485.c: 371: return cRS485State;
608 ;rs485.c: 372: }
609 0796 0008 return
610 0797 _Rs485Process
611 ; _cOurPkt assigned to ?a_Rs485Process+0
612 0000 _Rs485Process$cOurPkt set ?a_Rs485Process
613 ; _cPktReady assigned to ?a_Rs485Process+1
614 0000 _Rs485Process$cPktReady set ?a_Rs485Process+1
615 ;rs485.c: 65: unsigned char cOurPkt, cPktReady;
616 0797 0183 clrf 3 ;select bank 0
617 0798 01C7 clrf ?a_Rs485Process
618 ;rs485.c: 68: cPktReady = 0;
619 0799 01C8 clrf ?a_Rs485Process+1
620 ;rs485.c: 73: if ( (cRS485State == 8)&&(cStop==
+ 0x04) )
621 079A 0827 movf _cRS485State,w
622 079B 3A08 xorlw 8
623 079C 1D03 btfss 3,2
624 079D 2FC4 goto l3
625 079E 082D movf _cStop,w
626 079F 3A04 xorlw 4
627 07A0 1D03 btfss 3,2
628 07A1 2FC4 goto l3
629 ;rs485.c: 74: {
630 07A2 0825 movf _cNetAddr,w
631 07A3 0626 xorwf _cOurAddr,w
632 07A4 1D03 btfss 3,2
633 07A5 2FA9 goto l4
634 ;rs485.c: 78: {
635 07A6 01C7 clrf ?a_Rs485Process
636 07A7 0AC7 incf ?a_Rs485Process
637 ;rs485.c: 80: }
638 07A8 2FAB goto l5
639 07A9 l4
640 ;rs485.c: 82: {
641 07A9 30FF movlw -1
642 07AA 00A7 movwf _cRS485State
643 07AB l5
644 ;rs485.c: 84: }
645 ;rs485.c: 86: if(cRS485State != 255)
646 07AB 0A27 incf _cRS485State,w
647 07AC 1903 btfsc 3,2
648 07AD 2FB0 goto l6
649 ;rs485.c: 87: { cRS485State = PostValidatePacke
+ t(); }
650 07AE 2761 fcall _PostValidatePacket
651 07AF 00A7 movwf _cRS485State
652 07B0 l6
653 ;rs485.c: 89: if ( (cRS485State == 255)||(cRS48
+ 5State == 9) )
654 07B0 0F27 incfsz _cRS485State,w
655 07B1 2FB3 goto u61
656 07B2 2FB7 goto u80
657 07B3 u61
658 07B3 0827 movf _cRS485State,w
659 07B4 3A09 xorlw 9
660 07B5 1D03 btfss 3,2
661 07B6 2FC4 goto l3
662 07B7 u80
663 ;rs485.c: 90: {
664 07B7 0F27 incfsz _cRS485State,w
665 07B8 2FBA goto l8
666 07B9 2FC3 goto l11
667 ;rs485.c: 93: {
668 ;rs485.c: 95: }
669 07BA l8
670 07BA 0827 movf _cRS485State,w
671 07BB 3A09 xorlw 9
672 07BC 1D03 btfss 3,2
673 07BD 2FC4 goto l3
674 ;rs485.c: 97: {
675 07BE 08C7 movf ?a_Rs485Process
676 07BF 1903 btfsc 3,2
677 07C0 2FC3 goto l11
678 07C1 01C8 clrf ?a_Rs485Process+1
679 07C2 0AC8 incf ?a_Rs485Process+1
680 07C3 l11
681 ;rs485.c: 99: cRS485State = 0;
682 07C3 01A7 clrf _cRS485State
683 ;rs485.c: 100: }
684 ;rs485.c: 102: }
685 07C4 l3
686 ;rs485.c: 106: return cPktReady;
687 07C4 0848 movf ?a_Rs485Process+1,w
688 ;rs485.c: 108: }
689 07C5 0008 return
690
691 psect text11
692 ;rs485.c: 393: void Setup(void)
693 ;rs485.c: 394: {
694 0496 _Setup
695 ;rs485.c: 395: INTCON = 0;
696 0496 018B clrf 11 ;volatile
697 ;rs485.c: 396: TRISD4 = 0;
698 0497 1683 bsf 3,5
699 0498 1303 bcf 3,6 ;carry unused
700 0499 1208 bcf 8,4
701 ;rs485.c: 397: TRISF6 = 0;
702 049A 1703 bsf 3,6
703 049B 1305 bcf 5,6
704 ;rs485.c: 398: TRISF7 = 0;
705 049C 1385 bcf 5,7
706 ;rs485.c: 399: }
707 049D 0183 clrf 3 ;select bank 0
708 049E 0008 return
709
710 psect text12
711 ;rs485.c: 402: void ConfigureComms(void)
712 ;rs485.c: 403: {
713 04B6 _ConfigureComms
714 ;rs485.c: 404: SPEN = 1;
715 04B6 0183 clrf 3 ;select bank 0
716 04B7 1798 bsf 24,7
717 ;rs485.c: 405: RX9 = 0;
718 04B8 1318 bcf 24,6
719 ;rs485.c: 406: TX9 = 0 ;
720 04B9 1683 bsf 3,5
721 04BA 1318 bcf 24,6
722 ;rs485.c: 407: SPBRG = 0x19;
723 04BB 3019 movlw 25
724 04BC 0099 movwf 25
725 ;rs485.c: 408: BRGH = 1;
726 04BD 1518 bsf 24,2
727 ;rs485.c: 409: SYNC = 0 ;
728 04BE 1218 bcf 24,4
729 ;rs485.c: 410: TXEN = 1;
730 04BF 1698 bsf 24,5
731 ;rs485.c: 411: CREN = 1;
732 04C0 1283 bcf 3,5
733 04C1 1618 bsf 24,4
734 ;rs485.c: 412: PEIE = 1;
735 04C2 170B bsf 11,6
736 ;rs485.c: 413: }
737 04C3 0008 return
738
739 psect text13
740 0000
741 0000
742 0000
743 0000
744 0000
745 0000
746 0000
747 0000
748 0000
749 0000
750 0000
751 0000
752 0000
753 0000
754 0000
755 0000
756 0000
757 0000
758 0000
759 0000
760 0000
761 0000
762 0000
763 0000
764 0000
765 0000
766 0000
767 0000
768 0000
769 0000
770 0000
771 0000
772 0000
773 0000
774 0000
775 0000
776 0000
777 0000
778 0000
779 0000
780 0000
781 0000
782 0000
783 0000
784 0000
785 0000
786 0000
787 0000
788 0000
789 0000
790 0000
791 0000
792 0000
793 0000
794 0000
795 0000
796 0000
797 0000
798 0000
799 0000
800 0000
801 0000
802 0000
803 0000
804 0000
805 0000
806 0000
807 0000
808 0000
809 0000
810 0000
811 0000
812 0000
813 0000
814 0000
815 0000
816 0000
817 0000
818 0000
819 0000
820 0000
821 0000
822 0000
823 0000
824 0000
825 0000
826 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -