⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rs485.lst

📁 基于pic16分46 的rs485通讯协议
💻 LST
📖 第 1 页 / 共 5 页
字号:
   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 + -