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

📄 linsci.ls

📁 该程序是ST7MC驱动BLDC120
💻 LS
📖 第 1 页 / 共 2 页
字号:
 483  0012 2713          	jreq	L161
 484                     ; 182 			SCIDR;	
 486  0014 b600          	ld	a,_SCIDR
 487                     ; 183         	Rx_Index = 0;			// Resert the index for receive again
 489  0016 4f            	clr	a
 490  0017 c70005        	ld	L5_Rx_Index,a
 491                     ; 184 	        PtrToSCIBuffRx = Lin_Rx_Buffer;   	
 493  001a ae07          	ld	x,#high(_Lin_Rx_Buffer)
 494  001c cf0000        	ld	_PtrToSCIBuffRx,x
 495  001f a607          	ld	a,#low(_Lin_Rx_Buffer)
 496  0021 c70001        	ld	_PtrToSCIBuffRx+1,a
 498  0024 cc0121        	jra	L502
 499  0027               L161:
 500                     ; 188         	*PtrToSCIBuffRx = SCIDR;
 502  0027 c60000        	ld	a,_PtrToSCIBuffRx
 503  002a b700          	ld	c_x,a
 504  002c c60001        	ld	a,_PtrToSCIBuffRx+1
 505  002f b701          	ld	c_x+1,a
 506  0031 b600          	ld	a,_SCIDR
 507  0033 92c700        	ld	[c_x.w],a
 508                     ; 189         	Rx_Index++;
 510  0036 c60005        	ld	a,L5_Rx_Index
 511  0039 4c            	inc	a
 512  003a c70005        	ld	L5_Rx_Index,a
 513                     ; 190         	switch (Rx_Index)
 515  003d c60005        	ld	a,L5_Rx_Index
 517  0040 4a            	dec	a
 518  0041 271a          	jreq	L131
 519  0043 4a            	dec	a
 520  0044 2740          	jreq	L331
 521  0046 4a            	dec	a
 522  0047 2757          	jreq	L531
 523  0049 4a            	dec	a
 524  004a 276d          	jreq	L731
 525  004c 4a            	dec	a
 526  004d 276a          	jreq	L731
 527  004f 4a            	dec	a
 528  0050 2767          	jreq	L731
 529  0052 4a            	dec	a
 530  0053 2764          	jreq	L731
 531  0055 4a            	dec	a
 532  0056 2761          	jreq	L731
 533  0058 4a            	dec	a
 534  0059 2770          	jreq	L141
 535  005b 2005          	jra	L341
 536  005d               L131:
 537                     ; 192         	    case 1:
 537                     ; 193         	    		if (*PtrToSCIBuffRx != 0x00) goto Error_Handler;		
 539  005d 92c600        	ld	a,[c_x.w]
 540  0060 2711          	jreq	L171
 542  0062               L341:
 543                     ; 216         		default:        				
 543                     ; 217 Error_Handler: 			Rx_Index = 0;		// Resert the index for receive again
 545  0062 4f            	clr	a
 546  0063 c70005        	ld	L5_Rx_Index,a
 547                     ; 218 				        PtrToSCIBuffRx = Lin_Rx_Buffer;
 549  0066 ae07          	ld	x,#high(_Lin_Rx_Buffer)
 550  0068 cf0000        	ld	_PtrToSCIBuffRx,x
 551  006b a607          	ld	a,#low(_Lin_Rx_Buffer)
 552  006d c70001        	ld	_PtrToSCIBuffRx+1,a
 553                     ; 219         				break;
 555  0070 cc0121        	jra	L502
 556  0073               L171:
 557                     ; 194         	    		else PtrToSCIBuffRx++;
 559  0073 c60001        	ld	a,_PtrToSCIBuffRx+1
 560  0076 ab01          	add	a,#1
 561  0078 c70001        	ld	_PtrToSCIBuffRx+1,a
 562  007b c60000        	ld	a,_PtrToSCIBuffRx
 563  007e a900          	adc	a,#0
 564  0080 c70000        	ld	_PtrToSCIBuffRx,a
 565  0083 cc0121        	jra	L502
 566  0086               L331:
 567                     ; 196         	    case 2:
 567                     ; 197         	    		if (*PtrToSCIBuffRx != 0x01) goto Error_Handler;
 569  0086 92c600        	ld	a,[c_x.w]
 570  0089 a101          	cp	a,#1
 571  008b 26d5          	jrne	L341
 574                     ; 198         	    		else PtrToSCIBuffRx++;		
 576  008d c60001        	ld	a,_PtrToSCIBuffRx+1
 577  0090 ab01          	add	a,#1
 578  0092 c70001        	ld	_PtrToSCIBuffRx+1,a
 579  0095 c60000        	ld	a,_PtrToSCIBuffRx
 580  0098 a900          	adc	a,#0
 581  009a c70000        	ld	_PtrToSCIBuffRx,a
 582  009d cc0121        	jra	L502
 583  00a0               L531:
 584                     ; 200         	    case 3:
 584                     ; 201         	    		if (*PtrToSCIBuffRx != 0x10) goto Error_Handler;
 586  00a0 92c600        	ld	a,[c_x.w]
 587  00a3 a110          	cp	a,#16
 588  00a5 26bb          	jrne	L341
 591                     ; 202         	    		else PtrToSCIBuffRx++;		
 593  00a7 c60001        	ld	a,_PtrToSCIBuffRx+1
 594  00aa ab01          	add	a,#1
 595  00ac c70001        	ld	_PtrToSCIBuffRx+1,a
 596  00af c60000        	ld	a,_PtrToSCIBuffRx
 597  00b2 a900          	adc	a,#0
 598  00b4 c70000        	ld	_PtrToSCIBuffRx,a
 599  00b7 2068          	jra	L502
 600  00b9               L731:
 601                     ; 204         	    case 4:
 601                     ; 205         	    case 5:
 601                     ; 206         	    case 6:
 601                     ; 207         	    case 7:
 601                     ; 208         	    case 8:
 601                     ; 209         	    	    PtrToSCIBuffRx++;
 603  00b9 c60001        	ld	a,_PtrToSCIBuffRx+1
 604  00bc ab01          	add	a,#1
 605  00be c70001        	ld	_PtrToSCIBuffRx+1,a
 606  00c1 c60000        	ld	a,_PtrToSCIBuffRx
 607  00c4 a900          	adc	a,#0
 608  00c6 c70000        	ld	_PtrToSCIBuffRx,a
 609                     ; 210         	    	    break;
 611  00c9 2056          	jra	L502
 612  00cb               L141:
 613                     ; 211 				case 9: 
 613                     ; 212         	    		Rx_Index = 0;			// prepare for next receive
 615  00cb c70005        	ld	L5_Rx_Index,a
 616                     ; 213 	        			PtrToSCIBuffRx = Lin_Rx_Buffer;
 618  00ce ae07          	ld	x,#high(_Lin_Rx_Buffer)
 619  00d0 cf0000        	ld	_PtrToSCIBuffRx,x
 620  00d3 a607          	ld	a,#low(_Lin_Rx_Buffer)
 621  00d5 c70001        	ld	_PtrToSCIBuffRx+1,a
 622                     ; 214         	    		SCI_Status |= RX_Complete;        	    	
 624  00d8 c60004        	ld	a,L7_SCI_Status
 625  00db aa80          	or	a,#128
 626  00dd c70004        	ld	L7_SCI_Status,a
 627                     ; 215 						break;        	    	            	    	            	    	    
 629  00e0 203f          	jra	L502
 630  00e2               L751:
 631                     ; 224     else if (SCISR & SCI_TDRE)    	// Checks if TDRE Flag is set
 633  00e2 0f003c        	btjf	_SCISR,#7,L502
 634                     ; 226         if (Tx_Index > 1)   	// Checks if all the bytes are transmitted
 636  00e5 c60006        	ld	a,L3_Tx_Index
 637  00e8 a102          	cp	a,#2
 638  00ea 2525          	jrult	L112
 639                     ; 228             Tx_Index--; 
 641  00ec c60006        	ld	a,L3_Tx_Index
 642  00ef 4a            	dec	a
 643  00f0 c70006        	ld	L3_Tx_Index,a
 644                     ; 229             PtrToSCIBuffTx++;            /*Moves the pointer to next location*/
 646  00f3 c60003        	ld	a,_PtrToSCIBuffTx+1
 647  00f6 ab01          	add	a,#1
 648  00f8 c70003        	ld	_PtrToSCIBuffTx+1,a
 649  00fb c60002        	ld	a,_PtrToSCIBuffTx
 650  00fe a900          	adc	a,#0
 651  0100 c70002        	ld	_PtrToSCIBuffTx,a
 652                     ; 230             SCIDR = *PtrToSCIBuffTx;     /*Transmits a single byte*/
 654  0103 b700          	ld	c_x,a
 655  0105 c60003        	ld	a,_PtrToSCIBuffTx+1
 656  0108 b701          	ld	c_x+1,a
 657  010a 92c600        	ld	a,[c_x.w]
 658  010d b700          	ld	_SCIDR,a
 660  010f 2010          	jra	L502
 661  0111               L112:
 662                     ; 232         else if(Tx_Index == 1)
 664  0111 c60006        	ld	a,L3_Tx_Index
 665  0114 a101          	cp	a,#1
 666  0116 2609          	jrne	L502
 667                     ; 234             Tx_Index--;               
 669  0118 c60006        	ld	a,L3_Tx_Index
 670  011b 4a            	dec	a
 671  011c c70006        	ld	L3_Tx_Index,a
 672                     ; 235             SCICR2 &= (u8)(~SCI_TIE); 	/*Disable IT if all bytes 
 674  011f 1f00          	bres	_SCICR2,#7
 675  0121               L502:
 676                     ; 239 }
 679  0121 b600          	ld	a,_SCI_IT_Routine$L+0
 680  0123 b700          	ld	c_x,a
 681  0125 b601          	ld	a,_SCI_IT_Routine$L+1
 682  0127 b701          	ld	c_x+1,a
 683  0129 80            	iret	
 773                     	switch	.bss
 774  0000               _PtrToSCIBuffRx:
 775  0000 0000          	ds.b	2
 776                     	xdef	_PtrToSCIBuffRx
 777  0002               _PtrToSCIBuffTx:
 778  0002 0000          	ds.b	2
 779                     	xdef	_PtrToSCIBuffTx
 780  0004               L7_SCI_Status:
 781  0004 00            	ds.b	1
 782  0005               L5_Rx_Index:
 783  0005 00            	ds.b	1
 784  0006               L3_Tx_Index:
 785  0006 00            	ds.b	1
 786                     	xref	_Resert_SCIRX_Watchdog
 787                     	xref	_Timer_IsSCITXDelayElapsed
 788                     	xref	_Timer_SetSCITXDelayPeriod
 789                     	xref	_Set_SpdVarPeriod
 790                     	xref	_Set_TargetSpeed
 791                     	xref	_Freq_Motor
 792                     	xdef	_SCI_IsReceptionCompleted
 793                     	xdef	_SCI_IsTransmitCompleted
 794                     	xdef	_SCI_IT_Routine
 795                     	xdef	_SCI_Send_Data
 796                     	xdef	_SCI_Config
 797                     	xdef	_MotorStatus_Backup
 798  0007               _Lin_Rx_Buffer:
 799  0007 000000000000  	ds.b	9
 800                     	xdef	_Lin_Rx_Buffer
 801  0010               _Lin_Tx_Buffer:
 802  0010 000000000000  	ds.b	9
 803                     	xdef	_Lin_Tx_Buffer
 804                     	xref.b	_SCICR2
 805                     	xref.b	_SCICR1
 806                     	xref.b	_SCIBRR
 807                     	xref.b	_SCIDR
 808                     	xref.b	_SCISR
 809                     	xref.b	c_x
 810                     	xref.b	c_y
 830                     	xref	c_udiv
 831                     	end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -