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

📄 usb2ser.lst

📁 usb serial converter
💻 LST
📖 第 1 页 / 共 5 页
字号:
 604   2      			return (TRUE);
 605   2      	}	
 606   1      }
 607          
 608          BOOL DR_GetDescriptor(void)
 609          {
 610   1      	BYTE length,i;
 611   1      
 612   1      	pHIDDscr = (WORD)&HIDDscr;
 613   1      	pReportDscr = (WORD)&ReportDscr;
C51 COMPILER V6.03b  USB2SER                                                               08/16/2001 12:50:55 PAGE 11  

 614   1      	pReportDscrEnd = (WORD)&ReportDscrEnd;
 615   1      
 616   1      	switch (SETUPDAT[3])
 617   1      	{
 618   2      		case GD_HID:									//HID Descriptor 
 619   2      
 620   2      			SUDPTRH = MSB(pHIDDscr);
 621   2      			SUDPTRL = LSB(pHIDDscr);
 622   2      			
 623   2      			return (FALSE);
 624   2      
 625   2      		case GD_REPORT:									//Report Descriptor
 626   2      
 627   2      			length = pReportDscrEnd - pReportDscr;
 628   2      	
 629   2      			while (length)
 630   2      			{
 631   3      				for(i=0; i<min(length,64); i++)
 632   3      					*(IN0BUF+i) = *((BYTE xdata *)pReportDscr+i);
 633   3      	
 634   3      				//set length and arm Endpoint
 635   3      				EZUSB_SET_EP_BYTES(IN0BUF_ID,min(length,64));	
 636   3      				length -= min(length,64);
 637   3      	
 638   3      				// Wait for it to go out (Rev C and above)
 639   3      				while(EP0CS & 0x04) {}
 640   3      			}
 641   2      
 642   2      			return (FALSE);
 643   2      
 644   2      		default:
 645   2      
 646   2      			return(TRUE);
 647   2      	}
 648   1      }
 649          
 650          BOOL DR_SetConfiguration(void)	// Called when a Set Configuration command is received
 651          {
 652   1      	Configuration = SETUPDAT[2];
 653   1      
 654   1      	return(TRUE);				// Handled by user code
 655   1      }
 656          
 657          BOOL DR_GetConfiguration(void)	// Called when a Get Configuration command is received
 658          {
 659   1      	IN0BUF[0] = Configuration;
 660   1      	EZUSB_SET_EP_BYTES(IN0BUF_ID,1);
 661   1      	return(TRUE);				// Handled by user code
 662   1      }
 663          
 664          BOOL DR_SetInterface(void) 		// Called when a Set Interface command is received
 665          {
 666   1      	AlternateSetting = SETUPDAT[2];
 667   1      	return(TRUE);				// Handled by user code
 668   1      }
 669          
 670          BOOL DR_GetInterface(void) 		// Called when a Set Interface command is received
 671          {
 672   1      	IN0BUF[0] = AlternateSetting;
 673   1      	EZUSB_SET_EP_BYTES(IN0BUF_ID,1);
 674   1      	return(TRUE);				// Handled by user code
 675   1      }
C51 COMPILER V6.03b  USB2SER                                                               08/16/2001 12:50:55 PAGE 12  

 676          
 677          BOOL DR_GetStatus(void)
 678          {
 679   1      	return(TRUE);
 680   1      }
 681          
 682          BOOL DR_ClearFeature(void)
 683          {
 684   1      	return(TRUE);
 685   1      }
 686          
 687          BOOL DR_SetFeature(void)
 688          {
 689   1      	return(TRUE);
 690   1      }
 691          
 692          BOOL DR_VendorCmnd(void)
 693          {
 694   1      	return(TRUE);
 695   1      }
 696          
 697          //-----------------------------------------------------------------------------
 698          // USB Interrupt Handlers
 699          //	The following functions are called by the USB interrupt jump table.
 700          //-----------------------------------------------------------------------------
 701          
 702          // Setup Data Available Interrupt Handler
 703          void ISR_Sudav(void) interrupt 0
 704          {
 705   1      	GotSUD = TRUE;				// Set flag
 706   1      	EZUSB_IRQ_CLEAR();
 707   1      	USBIRQ = bmSUDAV;			// Clear SUDAV IRQ
 708   1      }
 709          
 710          // Setup Token Interrupt Handler
 711          void ISR_Sutok(void) interrupt 0
 712          {
 713   1      	EZUSB_IRQ_CLEAR();
 714   1      	USBIRQ = bmSUTOK;			// Clear SUTOK IRQ
 715   1      }
 716          
 717          void ISR_Sof(void) interrupt 0
 718          {
 719   1      	EZUSB_IRQ_CLEAR();
 720   1      	USBIRQ = bmSOF;				// Clear SOF IRQ
 721   1      }
 722          
 723          void ISR_Ures(void) interrupt 0
 724          {
 725   1      	EZUSB_IRQ_CLEAR();
 726   1      	USBIRQ = bmURES;			// Clear URES IRQ
 727   1      }
 728          
 729          void ISR_IBN(void) interrupt 0
 730          {
 731   1         // ISR for the IN Bulk NAK (IBN) interrupt.
 732   1      }
 733          
 734          void ISR_Susp(void) interrupt 0
 735          {
 736   1      	Sleep = TRUE;
 737   1      	EZUSB_IRQ_CLEAR();
C51 COMPILER V6.03b  USB2SER                                                               08/16/2001 12:50:55 PAGE 13  

 738   1      	USBIRQ = bmSUSP;
 739   1      }
 740          
 741          void ISR_Ep0in(void) interrupt 0
 742          {
 743   1      }
 744          
 745          void ISR_Ep0out(void) interrupt 0
 746          {
 747   1      }
 748          
 749          void ISR_Ep1in(void) interrupt 0
 750          {
 751   1      }
 752          
 753          void ISR_Ep1out(void) interrupt 0
 754          {
 755   1      }
 756          
 757          void ISR_Ep2in(void) interrupt 0
 758          {
 759   1      }
 760          
 761          void ISR_Ep2out(void) interrupt 0
 762          {
 763   1      }
 764          
 765          void ISR_Ep3in(void) interrupt 0
 766          {
 767   1      }
 768          
 769          void ISR_Ep3out(void) interrupt 0
 770          {
 771   1      }
 772          
 773          void ISR_Ep4in(void) interrupt 0
 774          {
 775   1      }
 776          
 777          void ISR_Ep4out(void) interrupt 0
 778          {
 779   1      }
 780          
 781          void ISR_Ep5in(void) interrupt 0
 782          {
 783   1      }
 784          
 785          void ISR_Ep5out(void) interrupt 0
 786          {
 787   1      }
 788          
 789          void ISR_Ep6in(void) interrupt 0
 790          {
 791   1      }
 792          
 793          void ISR_Ep6out(void) interrupt 0
 794          {
 795   1      }
 796          
 797          void ISR_Ep7in(void) interrupt 0
 798          {
 799   1      }
C51 COMPILER V6.03b  USB2SER                                                               08/16/2001 12:50:55 PAGE 14  

 800          
 801          void ISR_Ep7out(void) interrupt 0
 802          {
 803   1      }
 804          
 805          
C51 COMPILER V6.03b  USB2SER                                                               08/16/2001 12:50:55 PAGE 15  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION TD_Init (BEGIN)
                                           ; SOURCE LINE # 187
                                           ; SOURCE LINE # 188
                                           ; SOURCE LINE # 192
0000 900000      E     MOV     DPTR,#IN07VAL
0003 E0                MOVX    A,@DPTR
0004 4402              ORL     A,#02H
0006 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 193
0007 900000      E     MOV     DPTR,#OUT07VAL
000A E0                MOVX    A,@DPTR
000B 4404              ORL     A,#04H
000D F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 195
000E E4                CLR     A
000F 900000      E     MOV     DPTR,#OUT07IEN
0012 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 196
0013 900000      E     MOV     DPTR,#USBPAIR
0016 E0                MOVX    A,@DPTR
0017 4408              ORL     A,#08H
0019 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 198
001A 750002      R     MOV     Ep2Index,#02H
                                           ; SOURCE LINE # 199
001D E4                CLR     A
001E F500        R     MOV     Ep1Index,A
                                           ; SOURCE LINE # 203
0020 900000      E     MOV     DPTR,#PORTCCFG
0023 7403              MOV     A,#03H
0025 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 204
0026 900000      E     MOV     DPTR,#OEC
0029 7430              MOV     A,#030H
002B F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 205
002C 900000      E     MOV     DPTR,#OUTC
002F 74DF              MOV     A,#0DFH
0031 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 213
0032 E4                CLR     A
0033 900000      E     MOV     DPTR,#PORTACFG
0036 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 214
0037 900000      E     MOV     DPTR,#OEA
003A 74FF              MOV     A,#0FFH
003C F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 215
003D E4                CLR     A
003E 900000      E     MOV     DPTR,#OUTA
0041 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 220
0042 900000      E     MOV     DPTR,#ISOCTL
0045 E0                MOVX    A,@DPTR
0046 4401              ORL     A,#01H
0048 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 222
0049 E4                CLR     A
004A F500        R     MOV     txOutPtr,A
C51 COMPILER V6.03b  USB2SER                                                               08/16/2001 12:50:55 PAGE 16  

004C F500        R     MOV     txOutPtr+01H,A
004E F500        R     MOV     txInPtr,A
0050 F500        R     MOV     txInPtr+01H,A
                                           ; SOURCE LINE # 223
0052 F500        R     MOV     rxOutPtr,A
0054 F500        R     MOV     rxOutPtr+01H,A
0056 F500        R     MOV     rxInPtr,A
0058 F500        R     MOV     rxInPtr+01H,A
                                           ; SOURCE LINE # 228
005A 900000      E     MOV     DPTR,#BPADDR
005D 7400        R     MOV     A,#HIGH TD_Poll
005F F0                MOVX    @DPTR,A
0060 A3                INC     DPTR
0061 7400        R     MOV     A,#LOW TD_Poll
0063 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 229
0064 900000      E     MOV     DPTR,#USBBAV
0067 E0                MOVX    A,@DPTR
0068 4402              ORL     A,#02H
006A F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 230
006B E0                MOVX    A,@DPTR
006C 54FB              ANL     A,#0FBH
006E F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 235
006F C2AC              CLR     ES0
                                           ; SOURCE LINE # 236
0071 D299              SETB    TI
                                           ; SOURCE LINE # 238
0073 900000      E     MOV     DPTR,#OUTC
0076 E0                MOVX    A,@DPTR
0077 54DF              ANL     A,#0DFH
0079 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 243
007A C200        R     CLR     localRTS
                                           ; SOURCE LINE # 246
007C D200        R     SETB    hostRTS
                                           ; SOURCE LINE # 247
007E 22                RET     

⌨️ 快捷键说明

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