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

📄 chap_9.lst

📁 参加今年的比赛肯定要用的。谢谢支持。祝大家好运!
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.06   CHAP_9                                                                08/18/2005 15:30:26 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE CHAP_9
OBJECT MODULE PLACED IN CHAP_9.OBJ
COMPILER INVOKED BY: d:\Keil777\C51\BIN\C51.EXE CHAP_9.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          #include <stdio.h>
   3          #include <string.h>
   4          #include "BasicTyp.h"
   5          #include "common.h"
   6          #include "usb.h"
   7          #include "chap_9.h"
   8          #include "Hal4D13.h"
   9          #include "ISO.H"
  10          
  11          // *************************************************************************
  12          // Public Data
  13          // *************************************************************************
  14          
  15          extern D13FLAGS bD13flags;
  16          extern USBCHECK_DEVICE_STATES bUSBCheck_Device_State;
  17          extern CONTROL_XFER ControlData;
  18          
  19          UCHAR ALTERNATIVE_SETTING = 0;
  20          
  21          // *************************************************************************
  22          // USB Device Descriptor
  23          // *************************************************************************
  24          
  25          #define NUM_ENDPOINTS   4
  26          
  27          #define NUM_INTERFACE   2
  28          #define NUM_ALTINTERFACE        2
  29          
  30          #define CONFIG_DESCRIPTOR_LENGTH    sizeof(USB_CONFIGURATION_DESCRIPTOR) \
  31                                                                                  + NUM_ALTINTERFACE * sizeof(USB_INTERFACE_DESCRIPTOR) \
  32                                                                                  + (NUM_ENDPOINTS * sizeof(USB_ENDPOINT_DESCRIPTOR))
  33          
  34          USB_DEVICE_DESCRIPTOR DeviceDescr =
  35          {
  36            sizeof(USB_DEVICE_DESCRIPTOR),
  37            USB_DEVICE_DESCRIPTOR_TYPE,
  38            SWAP(0x110),  //usb spec1.1
  39            0,
  40            0,
  41            0,
  42            EP0_PACKET_SIZE,
  43            SWAP(0x0471),
  44            SWAP(0x1A62), //0x1A61: ISA kit, 0x1A62: PCI kit, 0X1A65: Cotulla kit
  45            SWAP(0x0100),
  46            STR_INDEX_MANUFACTURER,
  47            STR_INDEX_PRODUCT,
  48          //  STR_INDEX_SERIALNUMBER,
  49            0,
  50            1
  51          };
  52          
  53          USB_CONFIGURATION_DESCRIPTOR ConfigDescr =
  54          {
  55            sizeof(USB_CONFIGURATION_DESCRIPTOR),
C51 COMPILER V7.06   CHAP_9                                                                08/18/2005 15:30:26 PAGE 2   

  56            USB_CONFIGURATION_DESCRIPTOR_TYPE,
  57            SWAP(CONFIG_DESCRIPTOR_LENGTH),
  58            1,  //NO OF I/F: 1,
  59            1,
  60            STR_INDEX_CONFIGURATION,
  61            0xC0,// no remote wakeup
  62            0x01 // 2mA
  63          };
  64          
  65          
  66          USB_INTERFACE_DESCRIPTOR InterfaceDescr0 =
  67          {
  68            sizeof(USB_INTERFACE_DESCRIPTOR),
  69            USB_INTERFACE_DESCRIPTOR_TYPE,
  70            0, //InterfaceNumber
  71            0, //Alternate Setting
  72            NUM_ENDPOINTS, // No of Endpoints
  73            USB_CLASS_CODE_UNKNOWN,
  74            USB_SUBCLASS_CODE_UNKNOWN,
  75            USB_PROTOCOL_CODE_UNKNOWN,
  76            STR_INDEX_INTERFACE
  77          };
  78          
  79          
  80          USB_ENDPOINT_DESCRIPTOR EP_Descr[NUM_ENDPOINTS] =
  81          {
  82          
  83            // EP01 Interrupt Out
  84            {
  85              sizeof(USB_ENDPOINT_DESCRIPTOR),
  86              USB_ENDPOINT_DESCRIPTOR_TYPE,
  87              0x01,
  88              USB_ENDPOINT_TYPE_INTERRUPT,
  89              SWAP(NONISO_FIFOSIZE_8),
  90              1
  91            },
  92            // EP02 Interrupt In
  93            {
  94              sizeof(USB_ENDPOINT_DESCRIPTOR),
  95              USB_ENDPOINT_DESCRIPTOR_TYPE,
  96              0x82,
  97              USB_ENDPOINT_TYPE_INTERRUPT,
  98              SWAP(NONISO_FIFOSIZE_8),
  99              1
 100            },
 101            // EP03 Bulk Out
 102            {
 103              sizeof(USB_ENDPOINT_DESCRIPTOR),
 104              USB_ENDPOINT_DESCRIPTOR_TYPE,
 105              0x03,
 106              USB_ENDPOINT_TYPE_BULK,
 107              SWAP(NONISO_FIFOSIZE_8),
 108              0
 109            },
 110            // EP04 Bulk IN
 111            {
 112              sizeof(USB_ENDPOINT_DESCRIPTOR),
 113              USB_ENDPOINT_DESCRIPTOR_TYPE,
 114              0x84,
 115              USB_ENDPOINT_TYPE_BULK,
 116              SWAP(NONISO_FIFOSIZE_8),
 117              0
C51 COMPILER V7.06   CHAP_9                                                                08/18/2005 15:30:26 PAGE 3   

 118          /*  },
 119          
 120            // EP05 ISO OUT
 121            {
 122              sizeof(USB_ENDPOINT_DESCRIPTOR),
 123              USB_ENDPOINT_DESCRIPTOR_TYPE,
 124              0x05,
 125              USB_ENDPOINT_TYPE_ISOCHRONOUS,
 126              SWAP(ISO_FIFOSIZE_16),
 127              1
 128            },
 129            // EP06 ISO IN
 130            {
 131              sizeof(USB_ENDPOINT_DESCRIPTOR),
 132              USB_ENDPOINT_DESCRIPTOR_TYPE,
 133              0x86,
 134              USB_ENDPOINT_TYPE_ISOCHRONOUS,
 135              SWAP(ISO_FIFOSIZE_16),
 136              1
 137          */  }
 138          };
 139          
 140          
 141          
 142          USB_STRING_LANGUAGE_DESCRIPTOR  strLanguage =
 143          {
 144            sizeof(USB_STRING_LANGUAGE_DESCRIPTOR),
 145          //  sizeof(strLanguage),
 146            USB_STRING_DESCRIPTOR_TYPE,
 147            SWAP(0x0409)
 148          };
 149          
 150          
 151          
 152          /*
 153          USB_DEVICE_DESCRIPTOR DeviceDescr =
 154          {
 155                  sizeof(USB_DEVICE_DESCRIPTOR),
 156                  USB_DEVICE_DESCRIPTOR_TYPE,
 157                  SWAP(0x200),    //Complient to USB2.0 FullSpeed
 158                  0,//bDeviceClass
 159                  0,//bDeviceSubClass
 160                  0,//bDeviceProtocol
 161                  EP0_PACKET_SIZE,
 162                  SWAP(0x4cc), // Vendor ID for PHILIPS
 163                  SWAP(0x1a62),// Product ID for ISP 1362
 164                  SWAP(0x0100),// Device Release Number 1.0
 165                  0,//STR_INDEX_MANUFACTURER,
 166                  0,//STR_INDEX_PRODUCT,
 167                  0,//STR_INDEX_SERIALNUMBER,
 168                  1
 169          };
 170          
 171          USB_CONFIGURATION_DESCRIPTOR ConfigDescr =
 172          {
 173                  sizeof(USB_CONFIGURATION_DESCRIPTOR),
 174                  USB_CONFIGURATION_DESCRIPTOR_TYPE,
 175                  SWAP(CONFIG_DESCRIPTOR_LENGTH),
 176                  1,      //NO OF I/F: 1,
 177                  1,  //bConfigurationValue
 178                  0,//iConfiguration
 179                  0xC0,//bmAttributes =>no remote wakeup
C51 COMPILER V7.06   CHAP_9                                                                08/18/2005 15:30:26 PAGE 4   

 180                  0x1//Max Power
 181          };
 182          
 183          USB_INTERFACE_DESCRIPTOR InterfaceDescr0 =
 184          {
 185                  sizeof(USB_INTERFACE_DESCRIPTOR),
 186                  USB_INTERFACE_DESCRIPTOR_TYPE,
 187                  0,//bInterfaceNumber
 188                  0,//bAlternateSetting
 189                  0,//bNumEndpoints
 190                  USB_CLASS_CODE_UNKNOWN,
 191                  USB_SUBCLASS_CODE_UNKNOWN,
 192                  USB_PROTOCOL_CODE_UNKNOWN,
 193                  0,//STR_INDEX_INTERFACE
 194          };
 195          
 196          
 197          USB_INTERFACE_DESCRIPTOR InterfaceDescr1 =
 198          {
 199                  sizeof(USB_INTERFACE_DESCRIPTOR),
 200                  USB_INTERFACE_DESCRIPTOR_TYPE,
 201                  0,//bInterfaceNumber
 202                  1,//bAlternateSetting
 203                  NUM_ENDPOINTS,
 204                  USB_CLASS_CODE_UNKNOWN,
 205                  USB_SUBCLASS_CODE_UNKNOWN,
 206                  USB_PROTOCOL_CODE_UNKNOWN,
 207                  0,//STR_INDEX_INTERFACE
 208          };
 209          
 210          
 211          USB_ENDPOINT_DESCRIPTOR EP_Descr[4] =
 212          {
 213          
 214                  {
 215                          sizeof(USB_ENDPOINT_DESCRIPTOR),
 216                          USB_ENDPOINT_DESCRIPTOR_TYPE,
 217                          0x03,//EP03, 0x4, OUT
 218                          USB_ENDPOINT_TYPE_BULK,
 219                          SWAP(NONISO_FIFOSIZE_64),
 220                          0
 221                  },
 222          
 223          
 224                  {
 225                          sizeof(USB_ENDPOINT_DESCRIPTOR),
 226                          USB_ENDPOINT_DESCRIPTOR_TYPE,
 227                          0x84,// EP4, 0x5, IN
 228                          USB_ENDPOINT_TYPE_BULK,
 229                          SWAP(NONISO_FIFOSIZE_64),
 230                          0
 231                  },
 232          
 233          
 234                  {
 235                          sizeof(USB_ENDPOINT_DESCRIPTOR),
 236                          USB_ENDPOINT_DESCRIPTOR_TYPE,
 237                          0x05,// EP5 ISO OUT
 238                          USB_ENDPOINT_TYPE_ISOCHRONOUS,
 239                          SWAP(ISO_FIFOSIZE_512),
 240                          1
 241                  },
C51 COMPILER V7.06   CHAP_9                                                                08/18/2005 15:30:26 PAGE 5   

 242          
 243          
 244                  {
 245                          sizeof(USB_ENDPOINT_DESCRIPTOR),
 246                          USB_ENDPOINT_DESCRIPTOR_TYPE,
 247                          0x86,// EP6 ISO IN
 248                          USB_ENDPOINT_TYPE_ISOCHRONOUS,
 249                          SWAP(ISO_FIFOSIZE_512),
 250                          1
 251                  },
 252          };

⌨️ 快捷键说明

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