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

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

?? f34x_usb_standard_requests.lst

?? C8051F340的USB應用例程
?? LST
?? 第 1 頁 / 共 3 頁
字號:
C51 COMPILER V8.02   F34X_USB_STANDARD_REQUESTS                                            04/28/2008 13:24:09 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE F34X_USB_STANDARD_REQUESTS
OBJECT MODULE PLACED IN F34x_USB_Standard_Requests.OBJ
COMPILER INVOKED BY: D:\Program Files\keil 3\C51\BIN\C51.EXE F34x_USB_Standard_Requests.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //-----------------------------------------------------------------------------
   2          // F34x_USB_Standard_Requests.c
   3          //-----------------------------------------------------------------------------
   4          // Copyright 2005 Silicon Laboratories, Inc.
   5          // http://www.silabs.com
   6          //
   7          // Program Description:
   8          //
   9          // This source file contains the subroutines used to handle incoming 
  10          // setup packets. These are called by Handle_Setup in USB_ISR.c and used for 
  11          // USB chapter 9 compliance.
  12          //
  13          
  14          // How To Test:    See Readme.txt
  15          //
  16          //
  17          // FID:            34X000022
  18          // Target:         C8051F34x
  19          // Tool chain:     Keil C51 7.50 / Keil EVAL C51
  20          //                 Silicon Laboratories IDE version 2.6
  21          // Command Line:   See Readme.txt
  22          // Project Name:   F34x_USB_Interrupt
  23          //
  24          //
  25          // Release 1.0
  26          //    -Initial Revision (GP)
  27          //    -22 NOV 2005
  28          //    -Ported from 'F320_USB_Bulk
  29          //
  30          
  31          //-----------------------------------------------------------------------------
  32          // Includes
  33          //-----------------------------------------------------------------------------
  34          
  35          #include "c8051F340.h"
  36          #include "F34x_USB_Register.h"
  37          #include "F34x_USB_Main.h"
  38          #include "F34x_USB_Descriptor.h"
  39          
  40          //-----------------------------------------------------------------------------
  41          // Externs
  42          //-----------------------------------------------------------------------------
  43          
  44          // These are created in USB_DESCRIPTOR.h
  45          
  46          extern device_descriptor DeviceDesc;            
  47          extern configuration_descriptor ConfigDesc;
  48          extern interface_descriptor InterfaceDesc;
  49          extern endpoint_descriptor Endpoint1Desc;
  50          extern endpoint_descriptor Endpoint2Desc;
  51          extern BYTE* StringDescTable[];
  52          
  53          extern setup_buffer Setup;             // Buffer for current device request
  54          extern unsigned int DataSize;
  55          extern unsigned int DataSent;
C51 COMPILER V8.02   F34X_USB_STANDARD_REQUESTS                                            04/28/2008 13:24:09 PAGE 2   

  56          extern BYTE* DataPtr;
  57          
  58          extern BYTE Ep_Status[];               // Contains status bytes for EP 0-2
  59          
  60          extern BYTE USB_State;                 // Determines current usb device state
  61          
  62          //-----------------------------------------------------------------------------
  63          // Global Variables
  64          //-----------------------------------------------------------------------------
  65          
  66          // These are response packets used for communication with host
  67          code BYTE ONES_PACKET[2] = {0x01, 0x00};        
  68          code BYTE ZERO_PACKET[2] = {0x00, 0x00};        
  69          
  70          //-----------------------------------------------------------------------------
  71          // Support Subroutines
  72          //-----------------------------------------------------------------------------
  73          
  74          //-----------------------------------------------------------------------------
  75          // Get_Status
  76          //-----------------------------------------------------------------------------
  77          //
  78          // Return Value : None
  79          // Parameters   : None
  80          //
  81          // This routine returns a two byte status packet to the host
  82          //
  83          //-----------------------------------------------------------------------------
  84          
  85          void Get_Status(void)                  
  86          {                                      
  87   1      
  88   1         if (Setup.wValue.c[MSB] || Setup.wValue.c[LSB] ||
  89   1                                                      
  90   1         // If non-zero return length or data length not  equal to 2 then send a stall
  91   1         // indicating invalid request
  92   1         Setup.wLength.c[MSB]    || (Setup.wLength.c[LSB] != 2))                                               
  93   1         {                                            
  94   2            Force_Stall();
  95   2         }
  96   1      
  97   1         // Determine if recipient was device, interface, or EP
  98   1         switch(Setup.bmRequestType)                  
  99   1         {
 100   2            // If recipient was device
 101   2            case OUT_DEVICE:                          
 102   2               if (Setup.wIndex.c[MSB] || Setup.wIndex.c[LSB])
 103   2               {
 104   3                          // Send stall if request is invalid
 105   3                  Force_Stall();             
 106   3               }
 107   2               else
 108   2               {
 109   3                          // Otherwise send 0x00, indicating bus power and no
 110   3                              // remote wake-up supported
 111   3                  DataPtr = (BYTE*)&ZERO_PACKET;      
 112   3                  DataSize = 2;                       
 113   3               }
 114   2               break;
 115   2      
 116   2            // See if recipient was interface
 117   2            case OUT_INTERFACE:                       
C51 COMPILER V8.02   F34X_USB_STANDARD_REQUESTS                                            04/28/2008 13:24:09 PAGE 3   

 118   2                   // Only valid if device is configured and non-zero index
 119   2               if ((USB_State != DEV_CONFIGURED) ||
 120   2                    Setup.wIndex.c[MSB] || Setup.wIndex.c[LSB])                                                
 121   2               {
 122   3                          // Otherwise send stall to host
 123   3                  Force_Stall();                      
 124   3               }
 125   2               else
 126   2               {
 127   3                          // Status packet always returns 0x00
 128   3                  DataPtr = (BYTE*)&ZERO_PACKET;      
 129   3                  DataSize = 2;
 130   3               }
 131   2               break;
 132   2      
 133   2            // See if recipient was an endpoint
 134   2            case OUT_ENDPOINT:                        
 135   2                   // Make sure device is configured and index msb = 0x00
 136   2               if ((USB_State != DEV_CONFIGURED) || Setup.wIndex.c[MSB])                   
 137   2               {                                     
 138   3                  Force_Stall();              // otherwise return stall to host
 139   3               }
 140   2               else
 141   2               {
 142   3                  // Handle case if request is directed to EP 1
 143   3                  if (Setup.wIndex.c[LSB] == IN_EP1)  
 144   3                  {
 145   4                     if (Ep_Status[1] == EP_HALT)
 146   4                     {                                
 147   5                                    // If endpoint is halted, return 0x01,0x00
 148   5                        DataPtr = (BYTE*)&ONES_PACKET;
 149   5                        DataSize = 2;
 150   5                     }
 151   4                     else
 152   4                     {
 153   5                                    // Otherwise return 0x00,0x00 to indicate endpoint active
 154   5                        DataPtr = (BYTE*)&ZERO_PACKET;
 155   5                        DataSize = 2;
 156   5                     }
 157   4                  }
 158   3                  else
 159   3                  {
 160   4                                 // If request is directed to endpoint 2, send either
 161   4                                 // 0x01,0x00 if endpoint halted or 0x00,0x00 if endpoint is active
 162   4                     if (Setup.wIndex.c[LSB] == OUT_EP2)
 163   4                                                      
 164   4                     {                                
 165   5                        if (Ep_Status[2] == EP_HALT)
 166   5                        {
 167   6                           DataPtr = (BYTE*)&ONES_PACKET;
 168   6                           DataSize = 2;
 169   6                        }
 170   5                        else
 171   5                        {
 172   6                           DataPtr = (BYTE*)&ZERO_PACKET;
 173   6                           DataSize = 2;
 174   6                        }
 175   5                     }
 176   4                     else
 177   4                     {
 178   5                        Force_Stall();       // Send stall if unexpected data
 179   5                     }
C51 COMPILER V8.02   F34X_USB_STANDARD_REQUESTS                                            04/28/2008 13:24:09 PAGE 4   

 180   4                  }
 181   3               }
 182   2               break;
 183   2      
 184   2            default:
 185   2               Force_Stall();
 186   2               break;
 187   2         }
 188   1         if (Ep_Status[0] != EP_STALL)
 189   1         {
 190   2            // Set serviced Setup Packet, Endpoint 0 intransmit mode, 
 191   2                // and reset DataSent counter
 192   2            POLL_WRITE_BYTE(E0CSR, rbSOPRDY);        
 193   2            Ep_Status[0] = EP_TX;                     
 194   2            DataSent = 0;
 195   2         }
 196   1      }
 197          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久日韩粉嫩一区二区三区 | 精品国产免费人成在线观看| 精品av综合导航| 亚洲精品国产高清久久伦理二区| 亚洲地区一二三色| 风间由美一区二区av101| 91久久精品一区二区三区| 久久久欧美精品sm网站| 亚洲综合久久av| 成人国产亚洲欧美成人综合网| 欧美日韩免费观看一区二区三区| 国产无一区二区| 毛片不卡一区二区| 91成人在线观看喷潮| 欧美激情一区二区三区不卡 | 欧美tickle裸体挠脚心vk| 亚洲男人天堂av| 成人小视频免费观看| 欧美变态口味重另类| 亚洲成av人片一区二区梦乃| av影院午夜一区| 国产欧美日韩激情| 精品一区二区在线观看| 91精品国产综合久久蜜臀| 亚洲一区av在线| 在线精品视频免费播放| 综合中文字幕亚洲| 成人av在线观| 国产精品久久久久影视| 成人一区二区三区在线观看| 久久精品一区二区三区四区| 精一区二区三区| 精品久久国产字幕高潮| 久久国产生活片100| 日韩欧美一区二区久久婷婷| 日韩中文字幕区一区有砖一区| 欧美在线观看视频一区二区| 夜夜亚洲天天久久| 欧美色综合网站| 五月天激情综合网| 欧美二区三区91| 秋霞电影网一区二区| 欧美一区二区私人影院日本| 麻豆91精品91久久久的内涵| 日韩久久精品一区| 国产精品一区二区久久精品爱涩 | 91精品国产综合久久久久久| 日本午夜精品一区二区三区电影| 欧美一区二区福利视频| 开心九九激情九九欧美日韩精美视频电影| 欧美精品777| 国产精品亚洲第一区在线暖暖韩国| 2020国产精品自拍| 成人av动漫网站| 一区二区三区日韩欧美| 欧美精品久久天天躁| 久久99国内精品| 中文在线一区二区| 欧美色网站导航| 精品午夜一区二区三区在线观看| 国产色综合一区| 91成人国产精品| 久久国产精品无码网站| 国产精品国产三级国产aⅴ中文| 97久久超碰国产精品电影| 午夜视频一区二区三区| 久久亚洲私人国产精品va媚药| av不卡在线播放| 丝袜a∨在线一区二区三区不卡| 精品国产网站在线观看| 91蜜桃传媒精品久久久一区二区| 午夜精品一区二区三区免费视频 | 成人一区二区三区视频| 亚洲国产欧美在线人成| 国产视频在线观看一区二区三区| 在线观看一区不卡| 国产中文字幕精品| 亚洲综合一区二区三区| 久久久久久久综合日本| 欧美日韩高清影院| 国产69精品一区二区亚洲孕妇| 一区二区国产盗摄色噜噜| 精品国产99国产精品| 欧美综合一区二区三区| 国产精品一二三四| 视频精品一区二区| 亚洲一区在线观看网站| 国产情人综合久久777777| 欧美精品777| 91日韩在线专区| 国产精品自拍av| 美脚の诱脚舐め脚责91| 亚洲一线二线三线视频| 国产精品乱码一区二区三区软件 | 欧美午夜电影一区| 成人一二三区视频| 国产一区二区三区四区五区美女 | 精品对白一区国产伦| 欧美亚洲另类激情小说| 91亚洲精品久久久蜜桃网站 | 国产精品久线在线观看| 精品福利av导航| 日韩一区二区三区在线| 在线不卡中文字幕| 欧美写真视频网站| 91福利国产成人精品照片| 色悠悠久久综合| 91影院在线观看| 日本精品一区二区三区高清| 顶级嫩模精品视频在线看| 国产乱码精品1区2区3区| 国精产品一区一区三区mba视频| 日本成人在线不卡视频| 午夜电影网一区| 三级成人在线视频| 婷婷综合在线观看| 日韩精品电影一区亚洲| 偷拍日韩校园综合在线| 日韩精品色哟哟| 看片的网站亚洲| 国产精品538一区二区在线| 国产九色精品成人porny| 国产福利精品一区二区| 国产成人精品三级| 99久久久无码国产精品| 99re视频精品| 色久优优欧美色久优优| 91久久线看在观草草青青 | 视频一区免费在线观看| 久久成人免费日本黄色| 国产九色sp调教91| 91麻豆国产福利在线观看| 色av综合在线| 69久久99精品久久久久婷婷| 精品少妇一区二区三区视频免付费| 欧美成人在线直播| 国产欧美久久久精品影院| 最近中文字幕一区二区三区| 亚洲一二三级电影| 韩国一区二区在线观看| 99国产精品99久久久久久| 在线成人高清不卡| 日韩午夜小视频| 国产精品欧美经典| 亚洲成人一二三| 国产一二精品视频| 色一情一乱一乱一91av| 欧美一级日韩一级| 欧美激情一区二区三区全黄| 亚洲图片欧美色图| 国产一区二三区| 日本高清成人免费播放| 日韩精品一区二区三区视频在线观看 | 国产性做久久久久久| 亚洲日本青草视频在线怡红院| 亚洲成va人在线观看| 粉嫩嫩av羞羞动漫久久久 | 色激情天天射综合网| 欧美变态凌虐bdsm| 一区av在线播放| 国产在线日韩欧美| 欧美曰成人黄网| 久久毛片高清国产| 亚洲国产精品久久久男人的天堂| 国产在线一区二区综合免费视频| 91丨九色丨蝌蚪富婆spa| 日韩精品一区二区三区蜜臀| 综合激情网...| 国产综合久久久久久鬼色| 欧美日韩国产小视频在线观看| 久久精品一区二区三区av| 天天综合色天天| 99久久精品国产精品久久 | 色老头久久综合| 国产欧美精品区一区二区三区| 亚洲第一会所有码转帖| 成人99免费视频| 久久精品人人做| 九九热在线视频观看这里只有精品| 欧美三级电影在线观看| 中文在线一区二区| 国产精品系列在线播放| 日韩欧美成人一区| 日本午夜精品一区二区三区电影| 色综合婷婷久久| 国产精品私房写真福利视频| 国产真实乱子伦精品视频| 欧美一区二区三级| 亚洲成人黄色影院| 在线观看av一区| 亚洲欧美在线aaa| a美女胸又www黄视频久久| 中文字幕第一区二区| 国产成人一级电影| 久久综合成人精品亚洲另类欧美 | 久久综合九色欧美综合狠狠| 久久超碰97人人做人人爱| 欧美一区二区三区播放老司机| 视频一区二区国产| 日韩欧美久久久|