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

📄 periph.lst

📁 c51单片机68013流传送实例。在此基础上可开发视频语音等同步传送实例
💻 LST
字号:
C51 COMPILER V8.02   PERIPH                                                                01/09/2009 15:06:33 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE PERIPH
OBJECT MODULE PLACED IN .\PERIPH.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\PERIPH.C OPTIMIZE(6,SPEED) DEBUG OBJECTEXTEND

line level    source

   1          #pragma NOIV                                    // Do not generate interrupt vectors
   2          //-----------------------------------------------------------------------------
   3          //      File:           periph.c
   4          //      Contents:       Hooks required to implement USB peripheral function.
   5          //
   6          //      Copyright (c) 1997 AnchorChips, Inc. All rights reserved
   7          //-----------------------------------------------------------------------------
   8          #include <ezusb.h>
   9          #include <ezregs.h>
  10          
  11          extern BOOL     GotSUD;                 // Received setup data flag
  12          extern BOOL     Sleep;
  13          extern BOOL     Rwuen;
  14          extern BOOL     Selfpwr;
  15          
  16          BYTE    Configuration;          // Current configuration
  17          BYTE    AlternateSetting;       // Alternate settings
  18          
  19          typedef struct _ISO_REPORT
  20          {
  21             WORD  length;
  22             WORD  frame;
  23          } ISO_REPORT, *PISO_REPORT;
  24          
  25          //-----------------------------------------------------------------------------
  26          // Task Dispatcher hooks
  27          //      The following hooks are called by the task dispatcher.
  28          //-----------------------------------------------------------------------------
  29          
  30          void TD_Init(void)                              // Called once at startup
  31          {
  32   1         // Enable the SOF and USB Reset interrupts
  33   1         USBIEN |= bmSOF + bmURES;
  34   1      
  35   1         // Enable the ISO IN endpoints
  36   1         INISOVAL = bmEP8;
  37   1      
  38   1      
  39   1         // Set up the addresses for the ISO buffers
  40   1         IN8ADDR = 0x00;
  41   1      
  42   1      }
  43          
  44          void TD_Poll(void)                              // Called repeatedly while the device is idle
  45          {
  46   1      }
  47          
  48          BOOL TD_Suspend(void)                   // Called before the device goes into suspend mode
  49          {
  50   1              return(TRUE);
  51   1      }
  52          
  53          BOOL TD_Resume(void)                    // Called after the device resumes
  54          {
  55   1              return(TRUE);
C51 COMPILER V8.02   PERIPH                                                                01/09/2009 15:06:33 PAGE 2   

  56   1      }
  57          
  58          //-----------------------------------------------------------------------------
  59          // Device Request hooks
  60          //      The following hooks are called by the end point 0 device request parser.
  61          //-----------------------------------------------------------------------------
  62          
  63          BOOL DR_GetDescriptor(void)
  64          {
  65   1              return(TRUE);
  66   1      }
  67          
  68          BOOL DR_SetConfiguration(void)  // Called when a Set Configuration command is received
  69          {
  70   1              Configuration = SETUPDAT[2];
  71   1              return(TRUE);                           // Handled by user code
  72   1      }
  73          
  74          BOOL DR_GetConfiguration(void)  // Called when a Get Configuration command is received
  75          {
  76   1              IN0BUF[0] = Configuration;
  77   1              EZUSB_SET_EP_BYTES(IN0BUF_ID,1);
  78   1              return(TRUE);                           // Handled by user code
  79   1      }
  80          
  81          BOOL DR_SetInterface(void)              // Called when a Set Interface command is received
  82          {
  83   1              AlternateSetting = SETUPDAT[2];
  84   1              return(TRUE);                           // Handled by user code
  85   1      }
  86          
  87          BOOL DR_GetInterface(void)              // Called when a Set Interface command is received
  88          {
  89   1              IN0BUF[0] = AlternateSetting;
  90   1              EZUSB_SET_EP_BYTES(IN0BUF_ID,1);
  91   1              return(TRUE);                           // Handled by user code
  92   1      }
  93          
  94          BOOL DR_GetStatus(void)
  95          {
  96   1              return(TRUE);
  97   1      }
  98          
  99          BOOL DR_ClearFeature(void)
 100          {
 101   1              return(TRUE);
 102   1      }
 103          
 104          BOOL DR_SetFeature(void)
 105          {
 106   1              return(TRUE);
 107   1      }
 108          
 109          BOOL DR_VendorCmnd(void)
 110          {
 111   1              return(FALSE);
 112   1      }
 113          
 114          //-----------------------------------------------------------------------------
 115          // USB Interrupt Handlers
 116          //      The following functions are called by the USB interrupt jump table.
 117          //-----------------------------------------------------------------------------
C51 COMPILER V8.02   PERIPH                                                                01/09/2009 15:06:33 PAGE 3   

 118          
 119          // Setup Data Available Interrupt Handler
 120          void ISR_Sudav(void) interrupt 0
 121          {
 122   1              GotSUD = TRUE;                          // Set flag
 123   1              EZUSB_IRQ_CLEAR();
 124   1              USBIRQ = bmSUDAV;                       // Clear SUDAV IRQ
 125   1      }
 126          
 127          // Setup Token Interrupt Handler
 128          void ISR_Sutok(void) interrupt 0
 129          {
 130   1              EZUSB_IRQ_CLEAR();
 131   1              USBIRQ = bmSUTOK;                       // Clear SUTOK IRQ
 132   1      }
 133          
 134          void ISR_Sof(void) interrupt 0
 135          {
 136   1         register BYTE framel = USBFRAMEL;
 137   1         register BYTE frameh = USBFRAMEH;
 138   1         register BYTE i;
 139   1      
 140   1         IN8DATA = framel;
 141   1         IN8DATA = frameh;
 142   1      
 143   1      
 144   1         for (i=0;i<62;i++)
 145   1            IN8DATA = i;
 146   1      
 147   1              EZUSB_IRQ_CLEAR();
 148   1              USBIRQ = bmSOF;                         // Clear SOF IRQ
 149   1      }
 150          
 151          void ISR_Ures(void) interrupt 0
 152          {
 153   1              EZUSB_IRQ_CLEAR();
 154   1              USBIRQ = bmURES;                        // Clear URES IRQ
 155   1      }
 156          
 157          void ISR_IBN(void) interrupt 0
 158          {
 159   1         // ISR for the IN Bulk NAK (IBN) interrupt.
 160   1      }
 161          
 162          void ISR_Susp(void) interrupt 0
 163          {
 164   1              Sleep = TRUE;
 165   1              EZUSB_IRQ_CLEAR();
 166   1              USBIRQ = bmSUSP;
 167   1      }
 168          
 169          void ISR_Ep0in(void) interrupt 0
 170          {
 171   1      }
 172          
 173          void ISR_Ep0out(void) interrupt 0
 174          {
 175   1      }
 176          
 177          void ISR_Ep1in(void) interrupt 0
 178          {
 179   1      }
C51 COMPILER V8.02   PERIPH                                                                01/09/2009 15:06:33 PAGE 4   

 180          
 181          void ISR_Ep1out(void) interrupt 0
 182          {
 183   1      }
 184          
 185          void ISR_Ep2in(void) interrupt 0
 186          {
 187   1      }
 188          
 189          void ISR_Ep2out(void) interrupt 0
 190          {
 191   1      }
 192          
 193          void ISR_Ep3in(void) interrupt 0
 194          {
 195   1      }
 196          
 197          void ISR_Ep3out(void) interrupt 0
 198          {
 199   1      }
 200          
 201          void ISR_Ep4in(void) interrupt 0
 202          {
 203   1      }
 204          
 205          void ISR_Ep4out(void) interrupt 0
 206          {
 207   1      }
 208          
 209          void ISR_Ep5in(void) interrupt 0
 210          {
 211   1      }
 212          
 213          void ISR_Ep5out(void) interrupt 0
 214          {
 215   1      }
 216          
 217          void ISR_Ep6in(void) interrupt 0
 218          {
 219   1      }
 220          
 221          void ISR_Ep6out(void) interrupt 0
 222          {
 223   1      }
 224          
 225          void ISR_Ep7in(void) interrupt 0
 226          {
 227   1      }
 228          
 229          void ISR_Ep7out(void) interrupt 0
 230          {
 231   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    252    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V8.02   PERIPH                                                                01/09/2009 15:06:33 PAGE 5   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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