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

📄 iso.lst

📁 DSP通过双口RAM和ISP1581实现下位机的USB固件程序
💻 LST
字号:
C51 COMPILER V6.20c  ISO                                                                   07/25/2004 17:16:39 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE ISO
OBJECT MODULE PLACED IN Iso.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Iso.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //#include "stdio.h"
   2          #include "HAL.H"
   3          //#include "USBD12.H"
   4          #include "SMPro.H"
   5          //#include "USB110.H"
   6          #include "USB.H"
   7          #include "VDOR.H"
   8          #include "Isp1581.h"
   9          #include "main.h"
  10          //#include "Isr.h"
  11          #include "CHAP9.H"
  12          #include "Iso.h"
  13          
  14          extern ZBOARDFLAGS bZBoardFlags;
  15          extern CONTROL_XFER ControlData;
  16          extern GLOBE_VARIABLE globe_variable;
  17          
  18          
  19          void ISO_CONFIG(void)
  20          {
  21   1      	unsigned short *fp;
  22   1      	//unsigned short seg, off;
  23   1      	unsigned char IsoMode = 0; //ISO_IN:01|ISO_OUT:02;
  24   1      	unsigned short length;
  25   1      	if( ControlData.DeviceRequest.wLength == 0)
  26   1      	{
  27   2      		IsoMode &= ~ControlData.DeviceRequest.wIndex;
  28   2      		IsoMode |= ControlData.DeviceRequest.wValue;
  29   2      
  30   2      		if(IsoMode&ISO_IN)
  31   2      		{
  32   3      		// ISO in loop mode
  33   3      			RaiseIRQL();
  34   3      			globe_variable.isoINCount = 0;
  35   3      			globe_variable.isoINSize = 256;
  36   3      			//seg = (isoBuffer + globe_variable.isoINCount)>>4;
  37   3      			//off = (isoBuffer + globe_variable.isoINCount)&0xf;
  38   3      			//fp = MK_FP(seg, off);
  39   3      			length = globe_variable.isoINSize - globe_variable.isoINCount;
  40   3      			if(length <= 256)
  41   3      			{
  42   4      				ISP1581_SetEPIndex(EPINDEX4EP07OUT);// work around for es4, write in endpoint corrupts out endpoint da
             -ta
  43   4      				ISP1581_WriteISOEndpoint(EPINDEX4EP03IN, fp, length);
  44   4      				globe_variable.isoINCount += length;
  45   4      				bZBoardFlags.bits.ISO_state = ISO_IDLE;
  46   4      			}
  47   3      			else
  48   3      			{
  49   4      				ISP1581_SetEPIndex(EPINDEX4EP07OUT);// work around for es4, write in endpoint corrupts out endpoint da
             -ta
  50   4      				ISP1581_WriteISOEndpoint(EPINDEX4EP03IN, fp, 256);
  51   4      				globe_variable.isoINCount += 256;
  52   4      				bZBoardFlags.bits.ISO_state = ISO_IN;
  53   4      			}
C51 COMPILER V6.20c  ISO                                                                   07/25/2004 17:16:39 PAGE 2   

  54   3      			LowerIRQL();
  55   3      		}
  56   2      		else
  57   2      		{
  58   3      			if(IsoMode & ISO_OUT)
  59   3      			{
  60   4      			//ISO out mode
  61   4      				RaiseIRQL();
  62   4      				bZBoardFlags.bits.ISO_state = ISO_OUT;
  63   4      				//globe_variable.isoINSize = 0;
  64   4      				globe_variable.isoOUTSize = 0;
  65   4      				globe_variable.isoOUTCount = 0;
  66   4      				globe_variable.isoINCount = 0;
  67   4      				LowerIRQL();
  68   4      			}
  69   3      
  70   3      			if(IsoMode&ISO_LOOP)
  71   3      			{
  72   4      				RaiseIRQL();
  73   4      				bZBoardFlags.bits.ISO_state = ISO_LOOP;
  74   4      				globe_variable.isoINSize = 0;
  75   4      				globe_variable.isoOUTCount = 0;
  76   4      				globe_variable.isoINCount = 0;
  77   4      				LowerIRQL();
  78   4      			}
  79   3      		}
  80   2      		Chap9_ControlWriteHandshake();
  81   2      	}
  82   1      	else
  83   1      	{
  84   2      		USB_Stall_EP0();
  85   2      	}
  86   1      }
  87          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    219    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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