亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usb_drv.lst

?? 串口小程序
?? LST
?? 第 1 頁 / 共 3 頁
字號:
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE USB_DRV
OBJECT MODULE PLACED IN usb_drv.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lib_mcu\usb\usb_drv.c OPTIMIZE(7,SPEED) BROWSE INCDIR(.\modules\system;.\;.
                    -\;.\lib_refd) DEFINE(KEIL) DEBUG OBJECTEXTEND PRINT(.\usb_drv.lst) OBJECT(usb_drv.obj)

stmt level    source

   1          /*C**************************************************************************
   2          * NAME:         usb_drv.c
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2003 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      snd1c-refd-nf-4_0_3      
   7          * REVISION:     1.12     
   8          *----------------------------------------------------------------------------
   9          * PURPOSE: 
  10          * This file contains the USB driver routines
  11          *
  12          * NOTES:
  13          * Driver Configuration (see config.h):
  14          *   - VENDOR_ID               enum vendor ID delivered by USB organisation 
  15          *   - PRODUCT_ID              enum product number
  16          *   - RELEASE_NUMBER          enum release number
  17          *   - USB_MANUFACTURER_NAME   mass storage manufacturer string (unicode)
  18          *   - USB_MN_LENGTH           mass storage manufacturer string length
  19          *   - USB_PRODUCT_NAME        mass storage product name string (unicode)
  20          *   - USB_PN_LENGTH           mass storage product name string length
  21          *   - USB_SERIAL_NUMBER       mass storage product serial nb string (unicode)
  22          *   - USB_SN_LENGTH           mass storage product serial nb string length
  23          *****************************************************************************/
  24          
  25          /*_____ I N C L U D E S ____________________________________________________*/
  26          
  27          #include "config.h"                         /* system configuration */
  28          #include "usb_drv.h"                        /* usb driver definition */
  29          
  30          
  31          /*_____ M A C R O S ________________________________________________________*/
  32          
  33          
  34          /*_____ D E F I N I T I O N ________________________________________________*/
  35          
  36          code struct usb_st_device_descriptor usb_device_descriptor =
  37            {
  38              sizeof(usb_device_descriptor), DEVICE, 0x1001, 0, 0, 0, EP_CONTROL_LENGTH,
  39              VENDOR_ID, PRODUCT_ID, RELEASE_NUMBER, MAN_INDEX, PROD_INDEX, SN_INDEX, 1
  40            };
  41          
  42          code struct usb_st_manufacturer usb_manufacturer =
  43            {
  44              sizeof(usb_manufacturer), STRING,
  45              USB_MANUFACTURER_NAME
  46            };
  47          
  48          code struct usb_st_product usb_product =
  49            {
  50              sizeof(usb_product), STRING,
  51              USB_PRODUCT_NAME
  52            };
  53          
  54          code struct usb_st_serial_number usb_serial_number =
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 2   

  55            {
  56              sizeof(usb_serial_number), STRING,
  57              USB_SERIAL_NUMBER
  58            };
  59          
  60          code struct usb_st_language_descriptor usb_language =
  61            {
  62              sizeof(usb_language), STRING, 0x0904
  63            };
  64          
  65          code struct  
  66            {
  67              struct usb_st_configuration_descriptor  cfg;
  68              struct usb_st_interface_descriptor      ifc;
  69              struct usb_st_endpoint_descriptor       ep1;
  70              struct usb_st_endpoint_descriptor       ep2;
  71            }
  72            usb_configuration =
  73              {
  74                { 9, CONFIGURATION, sizeof(usb_configuration) << 8, 1, 1, 0, USB_CONFIG_BUSPOWERED, 0x32},
  75                { 9, INTERFACE, 0, 0, 2, 0x08, 0x06, 0x50, 0 },
  76                { 7, ENDPOINT, 0x81, 0x02, EP_IN_LENGTH << 8, 0 },
  77                { 7, ENDPOINT, 0x02, 0x02, EP_OUT_LENGTH << 8, 0 }
  78              };
  79          
  80          static  bdata bit     zlp;
  81          static  idata Byte    endpoint_status[3];
  82          
  83          static  idata Byte    *pbuffer;
  84          static  idata Byte    bmRequestType;
  85          
  86          /*_____ D E C L A R A T I O N ______________________________________________*/
  87          
  88          extern  void    usb_mass_storage_reset (void);
  89          extern  void    usb_mass_storage_get_lun (void);
  90          
  91          static  void    usb_get_descriptor (void);
  92          static  Byte   *send_ep0_packet (Byte *, Byte);
  93          static  void    usb_read_request (void);
  94          static  void    usb_set_address (void);
  95          static  void    usb_set_configuration (void);
  96          static  void    usb_clear_feature (void);
  97          static  void    usb_set_feature (void);
  98          static  void    usb_get_status (void);
  99          static  void    usb_get_configuration (void);
 100          
 101          
 102          /*F**************************************************************************
 103          * NAME: usb_init
 104          *----------------------------------------------------------------------------
 105          * PARAMS:
 106          *
 107          * return:
 108          *----------------------------------------------------------------------------
 109          * PURPOSE: 
 110          * This function initializes the USB controller and resets the endpoints FIFOs.
 111          *----------------------------------------------------------------------------
 112          * EXAMPLE:
 113          *----------------------------------------------------------------------------
 114          * NOTE: 
 115          *----------------------------------------------------------------------------
 116          * REQUIREMENTS: 
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 3   

 117          *****************************************************************************/
 118          void usb_init (void)
 119          {
 120   1       
 121   1      
 122   1         
 123   1         Usb_enable();                                            /* enable USB */
 124   1        UEPRST = 0x07;                            /* Reset EP 0, 1 and 2 */
 125   1        UEPRST = 0x00;
 126   1        endpoint_status[EP_CONTROL] = 0x00;
 127   1        endpoint_status[EP_IN] = 0x00;
 128   1        endpoint_status[EP_OUT] = 0x00;
 129   1        Usb_select_ep(EP_CONTROL);                /* control endpoint config */
 130   1        UEPCONX = CONTROL;
 131   1      
 132   1      
 133   1      
 134   1      }
 135          
 136          
 137          /*F**************************************************************************
 138          * NAME: usb_ep_init
 139          *----------------------------------------------------------------------------
 140          * PARAMS:
 141          *
 142          * return:
 143          *----------------------------------------------------------------------------
 144          * PURPOSE: 
 145          * This function configures the endpoints.
 146          *----------------------------------------------------------------------------
 147          * EXAMPLE:
 148          *----------------------------------------------------------------------------
 149          * NOTE: 
 150          *----------------------------------------------------------------------------
 151          * REQUIREMENTS: 
 152          *****************************************************************************/
 153          void usb_ep_init (void)
 154          {
 155   1        Usb_select_ep(EP_CONTROL);
 156   1        UEPCONX = CONTROL;
 157   1        Usb_select_ep(EP_IN);                     /* endpoints configuration */
 158   1        UEPCONX = BULK_IN ;
 159   1        Usb_select_ep(EP_OUT);
 160   1        UEPCONX = BULK_OUT;
 161   1        UEPRST = 0x07;
 162   1        UEPRST = 0x00;
 163   1      }
 164          
 165          
 166          /*F**************************************************************************
 167          * NAME: usb_send_ep0_packet
 168          *----------------------------------------------------------------------------
 169          * PARAMS:
 170          * *tbuf:        address of the first data to send
 171          * data_length:  number of bytes to send
 172          *
 173          * return:       address of the next byte to send
 174          *----------------------------------------------------------------------------
 175          * PURPOSE: 
 176          * This function sends the data over the default control endpoint.
 177          *----------------------------------------------------------------------------
 178          * EXAMPLE:
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 4   

 179          *----------------------------------------------------------------------------
 180          * NOTE: 
 181          *----------------------------------------------------------------------------
 182          * REQUIREMENTS: 
 183          *****************************************************************************/
 184          Byte *send_ep0_packet (Byte *tbuf, Byte data_length)
 185          {
 186   1      Byte i;
 187   1      
 188   1        Usb_select_ep(EP_CONTROL);
 189   1        for (i = data_length; i != 0 ; i--, tbuf++)
 190   1        {
 191   2          Usb_write_byte(*tbuf); 
 192   2        }
 193   1        Usb_set_TXRDY();                          /* Send packet */
 194   1        return tbuf;
 195   1      }
 196          
 197          
 198          /*F**************************************************************************
 199          * NAME: usb_enumeration_process
 200          *----------------------------------------------------------------------------
 201          * PARAMS:
 202          *
 203          * return:
 204          *----------------------------------------------------------------------------
 205          * PURPOSE: 
 206          * This function manages the enumeration process
 207          *----------------------------------------------------------------------------
 208          * EXAMPLE:
 209          *----------------------------------------------------------------------------
 210          * NOTE: 
 211          *----------------------------------------------------------------------------
 212          * REQUIREMENTS: 
 213          *****************************************************************************/
 214          void usb_enumeration_process (void)
 215          { 
 216   1        Usb_select_ep(EP_CONTROL);
 217   1        usb_read_request();
 218   1      }
 219          
 220          
 221          /*F**************************************************************************
 222          * NAME: usb_read_request
 223          *----------------------------------------------------------------------------
 224          * PARAMS:
 225          *
 226          * return:
 227          *----------------------------------------------------------------------------
 228          * PURPOSE: 
 229          * This function reads the SETUP request sent to the default control endpoint
 230          * and  the appropriate function. When exiting of the usb_read_request
 231          * function, the device is ready to manage the next request.
 232          *----------------------------------------------------------------------------
 233          * EXAMPLE:
 234          *----------------------------------------------------------------------------
 235          * NOTE: list of supported requests:
 236          *               GET_DESCRIPTOR
 237          *               GET_CONFIGURATION
 238          *               SET_ADDRESS
 239          *               SET_CONFIGURATION
 240          *               CLEAR_FEATURE
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 5   

 241          *               SET_FEATURE
 242          *               GET_STATUS
 243          *               GET_MAX_LUN
 244          *               MASS_STORAGE_RESET
 245          *----------------------------------------------------------------------------
 246          * REQUIREMENTS: 
 247          *****************************************************************************/
 248          void usb_read_request (void)
 249          { 
 250   1        bmRequestType = Usb_read_byte();          /* read bmRequestType */
 251   1      
 252   1        switch (Usb_read_byte())                  /* test the bRequest value */
 253   1        {
 254   2          case GET_DESCRIPTOR:
 255   2            usb_get_descriptor();
 256   2            break;
 257   2          case GET_CONFIGURATION:
 258   2            usb_get_configuration();
 259   2            break;
 260   2          case SET_ADDRESS:
 261   2            usb_set_address();
 262   2            break;
 263   2          case SET_CONFIGURATION:
 264   2            usb_set_configuration();
 265   2            break;
 266   2          case CLEAR_FEATURE:
 267   2            usb_clear_feature();
 268   2            break;
 269   2          case SET_FEATURE:
 270   2            usb_set_feature();
 271   2            break;
 272   2          case GET_STATUS:
 273   2            usb_get_status();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人天堂资源www在线| 91.麻豆视频| 91精品久久久久久久99蜜桃| 亚洲精品一区二区三区99| 综合分类小说区另类春色亚洲小说欧美 | 欧美极品xxx| 亚洲成人黄色小说| eeuss鲁片一区二区三区| 欧美一级电影网站| 亚洲激情五月婷婷| 懂色av中文一区二区三区| 91精品国产欧美一区二区| 亚洲欧美日韩国产手机在线| 国产综合久久久久影院| 欧美福利一区二区| 一区二区三区在线视频免费观看 | 久久精品国产第一区二区三区| thepron国产精品| 久久婷婷国产综合精品青草| 日本免费在线视频不卡一不卡二 | 国产美女精品一区二区三区| 欧美日本一道本| 亚洲裸体在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 蜜臀av性久久久久av蜜臀妖精| 91久久精品一区二区三| 欧美韩国日本一区| 国产成人免费视频网站| 精品国产制服丝袜高跟| 另类小说图片综合网| 884aa四虎影成人精品一区| 亚洲一区二区视频在线观看| 色88888久久久久久影院按摩| 中文字幕亚洲精品在线观看| 成人免费看片app下载| 国产精品视频你懂的| 国产69精品一区二区亚洲孕妇| 337p粉嫩大胆色噜噜噜噜亚洲| 久久精品国产澳门| 欧美精品一区二区高清在线观看| 麻豆国产精品777777在线| 91精品国产色综合久久ai换脸| 日韩福利视频导航| 日韩午夜小视频| 精品在线视频一区| 91国偷自产一区二区三区成为亚洲经典 | 国产激情91久久精品导航| 国产三级欧美三级| thepron国产精品| 一区二区三区中文字幕精品精品| 91黄色免费看| 日本午夜精品视频在线观看 | 精品裸体舞一区二区三区| 国内国产精品久久| 国产精品久久久久久妇女6080 | www.在线成人| 一区2区3区在线看| 日韩视频免费观看高清完整版在线观看 | 蜜桃视频在线观看一区| 欧美精品一区二区精品网| 成人黄色一级视频| 亚洲图片欧美一区| 精品久久久久久综合日本欧美| 国产精品一区一区三区| 亚洲精选免费视频| 日韩视频国产视频| 成人av在线资源网| 午夜精品久久久| 91污在线观看| 91亚洲精华国产精华精华液| 欧美日韩高清一区二区不卡 | 国产91露脸合集magnet| 亚洲免费观看在线观看| 91麻豆精品国产| 成人av免费在线播放| 亚洲一区二区三区视频在线播放| 日韩女优电影在线观看| av一区二区三区黑人| 日韩av电影天堂| 中文字幕一区二区三区在线不卡| 欧美亚洲一区二区在线观看| 韩国三级电影一区二区| 亚洲男人的天堂在线观看| 2017欧美狠狠色| 欧美午夜精品一区二区三区| 欧美专区亚洲专区| 国产尤物一区二区| 亚洲成人1区2区| 国产精品美女久久久久av爽李琼| 在线播放日韩导航| 色网站国产精品| 国产成人精品1024| 另类中文字幕网| 亚洲成av人片一区二区梦乃| 中文字幕亚洲综合久久菠萝蜜| 欧美v国产在线一区二区三区| 欧美午夜精品久久久久久孕妇| 大胆亚洲人体视频| 狠狠色丁香婷婷综合| 日韩精品一级二级| 一区二区三区高清在线| 综合在线观看色| 国产精品网曝门| 久久免费美女视频| 日韩欧美资源站| 91精品久久久久久久99蜜桃| 欧美日韩精品福利| 欧美性猛交xxxx黑人交| 91色九色蝌蚪| 91丨porny丨中文| 91影院在线免费观看| 不卡视频一二三| 99久久精品免费| 不卡的电视剧免费网站有什么| 国产一区欧美一区| 国产一区二区不卡| 国产麻豆视频精品| 国产高清亚洲一区| 国产风韵犹存在线视精品| 韩国精品久久久| 国产美女一区二区| 大胆欧美人体老妇| 成人国产亚洲欧美成人综合网| 风流少妇一区二区| gogo大胆日本视频一区| 97久久超碰精品国产| 一本色道久久综合精品竹菊| 日韩视频在线你懂得| 日韩色在线观看| 精品99999| 国产精品久久久久永久免费观看 | 欧美亚洲禁片免费| 欧美久久高跟鞋激| 日韩欧美亚洲国产精品字幕久久久 | 香蕉成人伊视频在线观看| 午夜精品久久久久影视| 日本欧美大码aⅴ在线播放| 捆绑调教美女网站视频一区| 国产精品自拍av| 91小视频在线观看| 欧美综合久久久| 日韩免费看的电影| 国产欧美视频在线观看| 亚洲精品国产无套在线观| 亚洲mv在线观看| 国产精品一区二区视频| www.日韩av| 欧美丰满少妇xxxxx高潮对白| 精品久久久久久久久久久久久久久| 久久蜜桃av一区二区天堂 | 日韩一区二区视频在线观看| 久久老女人爱爱| 一区二区三区91| 麻豆传媒一区二区三区| 丁香啪啪综合成人亚洲小说| 欧美日精品一区视频| 精品国产一区二区在线观看| **网站欧美大片在线观看| 五月综合激情日本mⅴ| 国产精品538一区二区在线| 在线免费亚洲电影| 精品国产在天天线2019| 亚洲综合av网| 国产成人在线网站| 欧美乱熟臀69xxxxxx| 久久久久久久综合日本| 亚洲动漫第一页| 成人中文字幕在线| 日韩欧美一区二区免费| 亚洲黄色在线视频| 国产老女人精品毛片久久| 欧美日韩一区二区不卡| 国产精品超碰97尤物18| 九九国产精品视频| 欧美日韩不卡在线| 亚洲日本丝袜连裤袜办公室| 久久国产免费看| 欧美精品国产精品| 亚洲欧美电影院| 国产不卡一区视频| 日韩免费高清视频| 日韩精品免费专区| 欧美亚洲一区二区在线| 亚洲欧洲另类国产综合| 国产精品一二三区| 日韩视频在线你懂得| 日韩国产一二三区| 欧美三级乱人伦电影| 一区二区不卡在线视频 午夜欧美不卡在 | 国产福利91精品一区| 欧美成人乱码一区二区三区| 天使萌一区二区三区免费观看| 91久久精品网| 一区二区三区欧美视频| 91小视频在线免费看| 日韩美女啊v在线免费观看| 波多野结衣一区二区三区| 中文字幕av在线一区二区三区| 国产精品一区二区在线播放| 精品欧美黑人一区二区三区|