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

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

?? usb_drv.lst

?? 基于AT89C51SND1的MP3的程序設計(包括播放mp3和錄音功能)
?? LST
?? 第 1 頁 / 共 3 頁
字號:
C51 COMPILER V7.06   USB_DRV                                                               05/05/2005 12:12:02 PAGE 1   


C51 COMPILER V7.06, 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.06   USB_DRV                                                               05/05/2005 12:12:02 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.06   USB_DRV                                                               05/05/2005 12:12:02 PAGE 3   

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

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

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区小说| 国产在线国偷精品免费看| 欧美无人高清视频在线观看| 一区二区三区电影在线播| 欧美在线一二三| 午夜欧美2019年伦理| 日韩美女视频在线| 紧缚奴在线一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w | 国产夜色精品一区二区av| 国产成人在线视频网址| 中文字幕在线观看不卡| 色噜噜偷拍精品综合在线| 午夜精品免费在线观看| 精品国精品国产尤物美女| 高清不卡在线观看| 最新久久zyz资源站| 欧美三级日韩三级国产三级| 捆绑紧缚一区二区三区视频| 亚洲国产精品精华液2区45| 一本一本久久a久久精品综合麻豆| 亚洲图片自拍偷拍| 精品国产一区二区三区不卡| 成人久久18免费网站麻豆| 亚洲在线一区二区三区| 日韩三级视频在线看| 成人免费视频免费观看| 亚洲第一搞黄网站| 精品88久久久久88久久久| 99久久er热在这里只有精品15| 香蕉久久夜色精品国产使用方法| 欧美精品一区二区久久久| 91麻豆6部合集magnet| 亚洲一区自拍偷拍| 久久久蜜臀国产一区二区| 色哟哟欧美精品| 麻豆91免费观看| 亚洲色图欧美偷拍| 日韩欧美不卡一区| www.亚洲色图.com| 日韩黄色免费电影| 国产精品久久久久桃色tv| 欧美精品在欧美一区二区少妇| 国产高清不卡一区二区| 午夜a成v人精品| 国产精品毛片大码女人| 欧美一区二区久久久| 丁香亚洲综合激情啪啪综合| 亚洲一区二区视频在线| 国产欧美一区二区精品性色超碰| 欧美四级电影在线观看| 国产99精品国产| 日韩av不卡一区二区| 国产精品一区三区| 亚洲一级在线观看| 欧美激情在线一区二区三区| 717成人午夜免费福利电影| proumb性欧美在线观看| 美女视频黄a大片欧美| 亚洲欧美二区三区| 久久精品视频一区二区| 欧美二区三区91| 91视频com| 国产suv精品一区二区883| 亚欧色一区w666天堂| 自拍偷在线精品自拍偷无码专区| 精品久久久久久久久久久久久久久 | 国产亚洲女人久久久久毛片| 欧美高清视频在线高清观看mv色露露十八 | 欧美图区在线视频| 成人a区在线观看| 捆绑调教美女网站视频一区| 亚洲午夜精品在线| 成人免费在线视频| 国产欧美日本一区视频| 欧美成人激情免费网| 欧美日本视频在线| 欧洲精品视频在线观看| 成年人国产精品| 国产精品1区2区3区在线观看| 美腿丝袜亚洲综合| 婷婷夜色潮精品综合在线| 亚洲欧美aⅴ...| 亚洲国产成人在线| 国产亚洲视频系列| 日韩精品一区二区三区在线观看| 欧美精品自拍偷拍| 欧美亚洲日本一区| 91视频在线看| 国产成人综合网| 热久久一区二区| 国产精品二三区| 欧美国产成人精品| 久久久精品综合| 精品国产91久久久久久久妲己| 91精品国产综合久久国产大片| 欧美日韩亚洲综合| 欧美中文字幕久久| 99久久免费视频.com| 成人午夜在线播放| 成人午夜免费视频| 成人综合在线网站| 福利电影一区二区三区| 高清在线成人网| 成人午夜视频在线| 丁香激情综合五月| 成人午夜av电影| 成人一区二区三区视频在线观看| 国产传媒欧美日韩成人| 欧美成人精品1314www| 日韩一区国产二区欧美三区| 日韩一二三区不卡| 日韩三级伦理片妻子的秘密按摩| 欧美一级黄色录像| 91麻豆精品久久久久蜜臀 | av电影在线观看不卡| 成人av动漫在线| 99精品视频在线观看| 色综合天天综合网天天看片| 色婷婷精品大视频在线蜜桃视频| 在线观看三级视频欧美| 欧美日韩在线一区二区| 9191国产精品| 日韩美女一区二区三区四区| 久久久久97国产精华液好用吗| 欧美激情综合网| 亚洲品质自拍视频| 欧美精品乱码久久久久久按摩| 91欧美一区二区| 国产精品亚洲一区二区三区在线 | 色哟哟国产精品免费观看| 欧美综合天天夜夜久久| 欧美无乱码久久久免费午夜一区 | 五月婷婷欧美视频| 秋霞成人午夜伦在线观看| 精品一区二区在线视频| 国产成人精品亚洲777人妖| yourporn久久国产精品| 欧美在线999| 日韩小视频在线观看专区| 久久蜜臀中文字幕| 中文字幕在线不卡一区 | 亚洲第一福利视频在线| 日本麻豆一区二区三区视频| 老司机精品视频线观看86 | 国产在线精品一区二区不卡了| 懂色av一区二区在线播放| 色噜噜夜夜夜综合网| 欧美一区二区三级| 欧美激情一区二区三区四区| 亚洲精品v日韩精品| 日韩av成人高清| 成人在线视频一区二区| 亚洲男女毛片无遮挡| 天天色图综合网| 国产精品一区二区在线观看不卡 | 日韩一区二区三区电影在线观看| 91精品国产手机| 国产无人区一区二区三区| 国产午夜一区二区三区| 亚洲精品亚洲人成人网| 麻豆精品视频在线| 成人18视频日本| 69堂精品视频| 亚洲国产高清在线观看视频| 亚洲国产成人高清精品| 国产一区二区在线视频| 色伊人久久综合中文字幕| 欧美一级午夜免费电影| 中文字幕亚洲视频| 日日嗨av一区二区三区四区| 国产成人亚洲精品青草天美| 欧美日韩一级二级| 国产日产欧美一区二区视频| 亚洲国产裸拍裸体视频在线观看乱了| 精品午夜久久福利影院| 在线免费观看一区| 久久久精品欧美丰满| 一区二区三区在线观看动漫| 国产麻豆午夜三级精品| 欧美日韩在线精品一区二区三区激情| 久久九九久久九九| 亚洲成人免费电影| 丰满岳乱妇一区二区三区| 91精品中文字幕一区二区三区| 国产精品成人一区二区三区夜夜夜| 青草国产精品久久久久久| 91蜜桃传媒精品久久久一区二区| 欧美va天堂va视频va在线| 亚洲国产中文字幕| 成人精品一区二区三区中文字幕 | 色一区在线观看| 久久婷婷国产综合国色天香| 亚瑟在线精品视频| av午夜一区麻豆| 久久色成人在线| 秋霞av亚洲一区二区三| 在线观看日韩毛片| 日韩理论片网站| 国产精品456露脸|