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

📄 iso.lst

📁 usb程序 硬件用的是isp1518
💻 LST
字号:
C51 COMPILER V8.02   ISO                                                                   08/03/2006 10:10:36 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE ISO
OBJECT MODULE PLACED IN .\Iso.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Firmware\Firmware\Iso.c OMF2 BROWSE DEBUG PRINT(.\Iso.lst) OBJECT(.\Iso.
                    -obj)

line 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;
C51 COMPILER V8.02   ISO                                                                   08/03/2006 10:10:36 PAGE 2   

  53   4                              }
  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         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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