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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? host2131.lst

?? keyword:usb host sl8
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V6.10  HOST2131                                                               09/04/2002 22:22:07 PAGE 1   


C51 COMPILER V6.10, COMPILATION OF MODULE HOST2131
OBJECT MODULE PLACED IN .\host2131.OBJ
COMPILER INVOKED BY: f:\Keil\C51\BIN\C51.EXE .\host2131.c OPTIMIZE(6,SPEED) INCDIR(c:\cypress\usb\target\inc) DEBUG OBJE
                    -CTEXTEND

stmt level    source

   1          #pragma NOIV					            // Do not generate interrupt vectors
   2          ////////////////////////////////////////////////////////////////////////////////
   3          // File:		host2131.c
   4          // Purpose:	    8051 firmware to master SL811 Embedded Host.
   5          //              Derived from periph.c frameworks file.
   6          //              Contains USB peripheral-related firmware.
   7          //              Contains PC host command interface.
   8          //              Based on SL811HST code written by cxn.
   9          //
  10          // $Header: /USB/ez811/firmware/Emb_Host/host2131.c 8     5/17/02 6:09p Tpm $
  11          // Copyright (c) 2002 Cypress Semiconductor. May not be reproduced without permission.
  12          // See the license agreement for more details.
  13          ////////////////////////////////////////////////////////////////////////////////
  14          
  15          #include "ezusb.h"
*** ERROR 318 IN LINE 15 OF .\host2131.c: can't open file 'ezusb.h'
  16          #include "ezregs.h"
*** ERROR 318 IN LINE 16 OF .\host2131.c: can't open file 'ezregs.h'
  17          #include "host_811.h"
*** ERROR 318 IN LINE 9 OF host_811.h: can't open file 'ezusb.h'
*** ERROR 318 IN LINE 10 OF host_811.h: can't open file 'ezregs.h'
*** ERROR C141 IN LINE 55 OF HOST_811.H: syntax error near 'WORD'
*** ERROR C129 IN LINE 55 OF HOST_811.H: missing ';' before 'wVID'
  18          
  19          extern BOOL	GotSUD;			// Received setup data flag
  20          extern BOOL	Sleep;
  21          extern BOOL	Rwuen;
  22          extern BOOL	Selfpwr;
  23          
  24          extern BOOL SLAVE_ENUMERATED;
  25          extern BOOL	BULK_OUT_DONE;
  26          extern BOOL DESC_XFER;
  27          extern BOOL DATA_XFER;
  28          extern xdata BYTE DataBufLen;
  29          extern xdata BYTE DBUF[];
  30          extern xdata BYTE HOSTCMD[];
  31          extern xdata BYTE REGBUFF[];
  32          extern xdata BYTE remainder;
  33          extern void sl811h_init(void);
  34          extern int slave_detect(void);
  35          extern BOOL	CONFIG_DONE;
  36          
  37          extern BOOL DATA_XFER_OUT;
  38          extern xdata BYTE DBUFOut[];
  39          extern BOOL dsPoll;
  40          extern BOOL bDataToggle;
  41          
  42          extern xdata pDevDesc  	pDev;			// Device descriptor struct
  43          extern xdata pCfgDesc  	pCfg;			// Config descriptor struct
  44          extern xdata pStrDesc 	pStr;			// String descriptor struct
  45          extern xdata pHidDesc 	pHid;			// HID class descriptor struct
  46          extern xdata pHubDesc 	pHub;			// HUD class descriptor struct
  47          extern xdata pIntfDesc 	pIfc;			// Interface descriptor struct
  48          extern xdata pHUBDEV    uHub;			// Struct for downstream device on HUB
C51 COMPILER V6.10  HOST2131                                                               09/04/2002 22:22:07 PAGE 2   

  49          extern xdata pUSBDEV    uDev[];	// Multiple USB devices attributes, Max 5 devices
  50          
  51          void dsOut(void);
  52          int DataRW(BYTE usbaddr, BYTE epaddr, WORD wPayload, WORD wLen, BYTE *pData);
  53          WORD GetDevInfo(BYTE *DevInfo);
  54          
  55          int	desc_next;
  56          int	data_next;
  57          void TD_Poll(void);
  58          
  59          BYTE	Configuration;		// Current configuration
  60          BYTE	AlternateSetting;	// Alternate settings
  61          
  62          //-----------------------------------------------------------------------------
  63          // Task Dispatcher hooks
  64          //	The following hooks are called by the task dispatcher.
  65          //-----------------------------------------------------------------------------
  66          // IN2 	=>  1 bytes max, Refresh data update from ezusb to host
  67          //-----------------------------------------------------------------------------
  68          void TD_Init(void) 				// Called once at startup
  69          {
  70          	Rwuen = TRUE;				// Enable remote-wakeup
  71          	ISOCTL |= 0x01;				// free up iso endpoints for external data space (1024)
  72          
  73          	IN07VAL |= bmEP1;			// Enable endpoint 1 IN
  74          	IN07VAL |= bmEP2;			// Enable endpoint 2 IN
  75          	IN07VAL |= bmEP3;			// Enable endpoint 3 IN
  76          	OUT07VAL |= bmEP1;			// Enable endpoint 1 OUT 
  77             	OUT07IEN |= bmEP1;			// Enable endpoint 1 OUT interrupt
  78          	OUT1BC = 0;					// Arm Endpoint 1 OUT to recieve data
  79          	OUT07VAL |= bmEP3;			// Enable endpoint 3 OUT 
  80             	OUT07IEN |= bmEP3;			// Enable endpoint 3 OUT interrupt
  81          	OUT3BC = 0;					// Arm Endpoint 3 OUT to recieve data
  82          	
  83          	BPADDR = (WORD)TD_Poll;     // Setup breakpoint to trigger on TD_Poll()
  84          	USBBAV |= bmBPEN;			// Enable the breakpoint
  85          	USBBAV &= ~bmBPPULSE;
  86          
  87          	sl811h_init();				// setup SL811H chip variables
  88          	desc_next = 0;
  89          	data_next = 0;
  90          
  91          }
  92          
  93          //*****************************************************************************************
  94          // ENDPOINT FUNCTION :
  95          // EP2-IN  -> Return a byte of 0x01 to ezusb host to indicate a attach/detach for refresh
  96          //*****************************************************************************************
  97          void TD_Poll(void) 
  98          {
  99          	int	i,count;
 100              BYTE DescBufLen;		    // EZUSB's IN #1 descriptor buffer length
 101          
 102          	slave_detect();				// Poll for any slave USB device attached to "SL811HS" Embedded Host
 103          
 104              if(BULK_OUT_DONE && !DESC_XFER)
 105              {
 106          			BULK_OUT_DONE = FALSE;
 107          				switch(HOSTCMD[0])							// type of commands from EZUSB host
 108          				{
 109          					case SL_REFRESH:
 110          	                    DescBufLen = GetDevInfo(DBUF);
C51 COMPILER V6.10  HOST2131                                                               09/04/2002 22:22:07 PAGE 3   

 111                                  if(!DescBufLen)				
 112                                  { // there is nothing to transfer - keep the host app from pending
 113          	                      DBUF[0] = 0;		
 114          	                      DescBufLen = 1;			// arming the IN1 is done in the slave_detect loop               
             -         
 115                                  }
 116          						DESC_XFER = TRUE;					// set DESC_XFER to start transfer
 117          						break;
 118          
 119          					default: break;							// default break;
 120                          }
 121              }
 122          
 123          	if(DESC_XFER && !(IN1CS & bmEPBUSY))
 124          	{													// ensure DESC_XFER & IN1 not busy
 125          		if(DescBufLen)									// check for any data length
 126          		{												//
 127          			count = (int)((DescBufLen>=64) ? 64:DescBufLen);	// select data length, max allowed is 64 bytes
 128          			for(i=0; i<count; i++)						// copy data into IN buffer
 129          				IN1BUF[i] = DBUF[i+desc_next];			// 
 130          			IN1BC = count;								// arm IN data transfer
 131          			DescBufLen -= count;						// update remaining data len
 132          			desc_next += count;
 133                      if(!DescBufLen)
 134                      {
 135          			  desc_next = 0;
 136          			  DESC_XFER = FALSE;					    // reset DESC_XFER to stop transfer
 137                      }
 138          		}
 139          	}
 140          }
 141          
 142          //---------------------------------------
 143          BOOL TD_Suspend(void) 			// Called before the device goes into suspend mode
 144          {
 145          	return(TRUE);
 146          }
 147          
 148          BOOL TD_Resume(void) 			// Called after the device resumes
 149          {
 150          	return(TRUE);
 151          }
 152          
 153          //-----------------------------------------------------------------------------
 154          // Device Request hooks
 155          //	The following hooks are called by the end point 0 device request parser.
 156          //-----------------------------------------------------------------------------
 157          
 158          BOOL DR_GetDescriptor(void)
 159          {
 160          	return(TRUE);
 161          }
 162          
 163          BOOL DR_SetConfiguration(void)	// Called when a Set Configuration command is received
 164          {
 165          	Configuration = SETUPDAT[2];
 166             CONFIG_DONE = TRUE;
 167          	return(TRUE);				// Handled by user code
 168          }
 169          
 170          BOOL DR_GetConfiguration(void)	// Called when a Get Configuration command is received
 171          {
C51 COMPILER V6.10  HOST2131                                                               09/04/2002 22:22:07 PAGE 4   

 172          	IN0BUF[0] = Configuration;
 173          	EZUSB_SET_EP_BYTES(IN0BUF_ID,1);
 174          	return(TRUE);				// Handled by user code
 175          }
 176          
 177          BOOL DR_SetInterface(void) 		// Called when a Set Interface command is received
 178          {
 179          	AlternateSetting = SETUPDAT[2];
 180          	return(TRUE);				// Handled by user code
 181          }
 182          
 183          BOOL DR_GetInterface(void) 		// Called when a Set Interface command is received
 184          {
 185          	IN0BUF[0] = AlternateSetting;
 186          	EZUSB_SET_EP_BYTES(IN0BUF_ID,1);
 187          	return(TRUE);				// Handled by user code
 188          }
 189          
 190          BOOL DR_GetStatus(void)
 191          {
 192          	return(TRUE);
 193          }
 194          
 195          BOOL DR_ClearFeature(void)
 196          {
 197          	return(TRUE);
 198          }
 199          
 200          BOOL DR_SetFeature(void)
 201          {
 202          	return(TRUE);
 203          }
 204          
 205          #define EP0BUFF_SIZE	0x40
 206          
 207          BOOL DR_VendorCmnd(void)
 208          {
 209            WORD addr, len, bc;
 210            BYTE EpAddr, EpIdx;
 211            WORD i;
 212            BYTE RegAddr;
 213            xdata BYTE OUT_DATA[EP0BUFF_SIZE];	// OUT data buffer
 214            int retDataRW = FALSE;
 215            BYTE DescBufLen = 0;
 216            WORD ReqLen = 0;
 217          
 218            switch(SETUPDAT[1])
 219            { // NOTE" 0xA0 is reserved: 0xA0 = Anchor Download (handled by core)
 220              case SL_RESET:
 221          	{
 222                sl811h_init();            // initialize SL811HST
 223                *IN0BUF = SETUPDAT[1];    // return command type
 224                IN0BC = 0x01;             // arm endp, # bytes to xfr
 225                EP0CS |= bmBIT1;          // ack handshake phase of device request
 226                break;
 227              }
 228              case SL_DEVICE_DESCP:                                      // GetDevDesc
 229              case SL_CONFIG_DESCP:                                      // GetConfDesc
 230              case SL_CLASS_DESCP:                                      // GetClassDesc
 231              case SL_STRING_DESCP:                                      // GetStringDesc
 232          	{
 233          		EpAddr = SETUPDAT[2];		                // Get address
C51 COMPILER V6.10  HOST2131                                                               09/04/2002 22:22:07 PAGE 5   

 234          		ReqLen = SETUPDAT[6];
 235          		ReqLen |= SETUPDAT[7] << 8;                    // Get requested length
 236          
 237          		if(SETUPDAT[1] == SL_DEVICE_DESCP)
 238          		{
 239          		  pDev =(pDevDesc)DBUF;
 240          		  if(GetDesc(EpAddr,DEVICE,0,18,DBUF))	    // Device Descp - 18 bytes 
 241          		    DescBufLen = (WORD)pDev->bLength;		// update buffer length 
 242          		}
 243          		if(SETUPDAT[1] == SL_CONFIG_DESCP)
 244          		{
 245          		  pCfg =(pCfgDesc)DBUF;				
 246          		  if (GetDesc(EpAddr,CONFIGURATION,0,255,DBUF))
 247          		    DescBufLen = WordSwap(pCfg->wLength); 				
 248          		}
 249          		if(SETUPDAT[1] == SL_CLASS_DESCP)
 250          		{
 251                    if (GetDesc(EpAddr,CONFIGURATION,0,255,DBUF))	// Configuration Descp
 252                    {
 253          	        pIfc = (pIntfDesc)(DBUF + 9);				// point to Interface Descp
 254                      if(pIfc->iClass==HIDCLASS)			// HID_CLASS
 255                      {
 256                        pHid = (pHidDesc)(DBUF + 9 + 9);		// get HID's report descriptor
 257                        DescBufLen = (pHid->wItemLength <= 255) ? pHid->wItemLength : 255; 
 258                        if(!GetHid_Desc(EpAddr,HID_REPORT,DescBufLen,DBUF))
 259                          DescBufLen = 0;
 260                      }
 261                      else if(pIfc->iClass==HUBCLASS)		// HUB_CLASS
 262                      {
 263                        pHub =(pHubDesc)DBUF;					// get HUB class descriptor
 264                        DescBufLen = (pHub->bLength <= 255) ? pHub->bLength : 255; 
 265                        if(!GetHubDesc(EpAddr,0,9,DBUF)) 
 266                          DescBufLen = 0;
 267                      }
 268          			else
 269                          DescBufLen = 0;                 // Undefined Class
 270                    }
 271          		}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av在线资源网站| 亚洲成人资源网| 懂色av中文字幕一区二区三区| 精品日产卡一卡二卡麻豆| 久久97超碰国产精品超碰| 日韩精品资源二区在线| 国产伦精品一区二区三区在线观看 | 99re热视频精品| 亚洲乱码国产乱码精品精小说 | 久久久久久久精| 成人性生交大片免费看在线播放 | 一二三四区精品视频| 欧美亚洲一区二区三区四区| 日日骚欧美日韩| 26uuu精品一区二区在线观看| 福利91精品一区二区三区| 亚洲免费看黄网站| 4438x成人网最大色成网站| 韩国成人福利片在线播放| 国产精品麻豆一区二区 | eeuss鲁一区二区三区| 亚洲国产另类av| 久久久久久影视| 色综合天天做天天爱| 蜜臀a∨国产成人精品| 久久久国产综合精品女国产盗摄| 一本大道久久a久久精二百| 秋霞影院一区二区| 亚洲天天做日日做天天谢日日欢| 91精品婷婷国产综合久久性色 | 欧美日韩不卡视频| 韩国三级中文字幕hd久久精品| 最新国产の精品合集bt伙计| 在线不卡的av| 成人av网在线| 麻豆国产欧美一区二区三区| 亚洲激情自拍偷拍| 26uuu国产日韩综合| 欧美性视频一区二区三区| 国产麻豆一精品一av一免费| 亚洲成a人在线观看| 国产精品乱人伦中文| 日韩视频一区二区三区 | 国产.欧美.日韩| 日韩高清欧美激情| 亚洲女人****多毛耸耸8| 26uuuu精品一区二区| 这里只有精品视频在线观看| 97久久久精品综合88久久| 国产精品综合视频| 日本欧美大码aⅴ在线播放| 亚洲乱码国产乱码精品精98午夜| 久久久久久久综合色一本| 日韩一级精品视频在线观看| 欧美伊人精品成人久久综合97| 风间由美性色一区二区三区| 乱一区二区av| 蜜臀av性久久久久av蜜臀妖精| 亚洲一级二级在线| 亚洲免费av网站| 国产精品久久夜| 国产女同性恋一区二区| 欧美精品一区二区三区四区| 欧美一区二区三区四区在线观看| 欧美视频一区二区三区四区| 色综合久久88色综合天天6| 成人av网址在线| av毛片久久久久**hd| 国产suv一区二区三区88区| 国产在线一区观看| 国内成人免费视频| 国产精品一区二区在线观看网站| 久久99精品视频| 久久精品国产久精国产爱| 日本免费在线视频不卡一不卡二| 日韩电影免费在线| 日韩1区2区日韩1区2区| 日韩高清不卡一区二区三区| 日韩高清欧美激情| 久久狠狠亚洲综合| 国产在线精品一区二区夜色| 精品一区二区成人精品| 韩国av一区二区三区四区| 国产乱码字幕精品高清av| 国产一级精品在线| 成人久久18免费网站麻豆| 91在线精品一区二区三区| 色8久久人人97超碰香蕉987| 欧美亚洲高清一区二区三区不卡| 在线观看免费亚洲| 91精品国产综合久久精品app| 在线综合+亚洲+欧美中文字幕| 欧美一二区视频| 国产亚洲一区二区三区| 国产精品美日韩| 亚洲自拍偷拍综合| 日本三级亚洲精品| 国产91富婆露脸刺激对白| 色噜噜狠狠色综合中国| 欧美日韩国产小视频| 欧美成人在线直播| 国产精品久久久久婷婷| 性做久久久久久| 国产一区二区三区在线观看免费 | 91看片淫黄大片一级在线观看| 在线观看一区日韩| 日韩欧美一区二区免费| 欧美高清在线一区二区| 亚洲一区二区三区不卡国产欧美| 日本中文一区二区三区| 成人小视频在线| 欧美日韩黄色一区二区| 久久免费电影网| 亚洲黄色录像片| 精品一区二区三区欧美| 日本精品视频一区二区| 日韩一级片在线观看| 亚洲精品自拍动漫在线| 久久99国产精品久久| 一本色道亚洲精品aⅴ| 日韩三级在线免费观看| 亚洲九九爱视频| 国产精品综合二区| 欧美日韩国产免费一区二区| 国产日韩欧美综合在线| 亚洲成人久久影院| 成人av在线播放网址| 精品剧情在线观看| 一区二区三区日韩欧美精品| 精品一区二区三区不卡| 欧美三级视频在线观看| 中文无字幕一区二区三区| 日本aⅴ免费视频一区二区三区| 成人激情免费网站| 精品乱人伦小说| 亚洲高清不卡在线| 一本一道久久a久久精品| 久久综合久久综合久久| 天堂成人国产精品一区| 99re6这里只有精品视频在线观看| 欧美精品一区在线观看| 天使萌一区二区三区免费观看| 99视频一区二区| 亚洲国产电影在线观看| 美女性感视频久久| 欧美精品黑人性xxxx| 一区二区三区视频在线看| 99视频在线精品| 日本一区二区综合亚洲| 国内精品伊人久久久久av影院| 91精品国产综合久久久久久| 性感美女久久精品| 在线国产电影不卡| 一区二区三区日韩欧美精品| 91视视频在线直接观看在线看网页在线看| 久久综合av免费| 久久疯狂做爰流白浆xx| 91精品国产乱码久久蜜臀| 午夜精品久久久久久久| 在线国产亚洲欧美| 亚洲午夜在线电影| 在线观看www91| 亚洲一级二级三级| 欧美视频三区在线播放| 亚洲成人在线观看视频| 欧美精品亚洲一区二区在线播放| 亚洲美女免费视频| 91黄视频在线观看| 亚洲国产日韩a在线播放性色| 在线免费观看不卡av| 一区二区三区高清| 欧洲精品在线观看| 亚洲一区在线播放| 911精品产国品一二三产区| 三级久久三级久久久| 欧美一级日韩一级| 韩日av一区二区| 欧美国产一区二区在线观看 | 99久精品国产| 亚洲精品老司机| 欧美片网站yy| 久久精品国产亚洲高清剧情介绍 | 欧美日韩精品欧美日韩精品一 | 中文字幕一区二区三区不卡| 99视频精品免费视频| 亚洲伦理在线精品| 91精品国产欧美一区二区18| 日韩成人免费电影| 国产午夜精品理论片a级大结局| 成人深夜福利app| 夜夜嗨av一区二区三区| 欧美日韩国产系列| 国产精品99久久久久久有的能看| 欧美激情艳妇裸体舞| 91在线观看污| 日韩高清不卡一区二区三区| 国产无人区一区二区三区| 91美女片黄在线观看91美女| 午夜免费欧美电影| 国产欧美一区二区精品性|