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

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

?? fw2hid.lst

?? 基于sy2100 ez-usb開發板的程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V6.10  FW2HID                                                                 07/11/2005 20:41:13 PAGE 1   


C51 COMPILER V6.10, COMPILATION OF MODULE FW2HID
OBJECT MODULE PLACED IN .\fw2HID.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\fw2HID.C OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //-----------------------------------------------------------------------------
   2          //	File:		fw2HID.c (fw.c modified by LTH on 20-Aug-01
   3          //	Contents:	Firmware frameworks task dispatcher and device request parser
   4          //				source.
   5          //
   6          //	Copyright (c) 2001 Cypress Semiconductor, Inc. All rights reserved
   7          //-----------------------------------------------------------------------------
   8          #include "ezusb.h"
   9          #include "ezregs.h"
  10          //-----------------------------------------------------------------------------
  11          // Macros
  12          //-----------------------------------------------------------------------------
  13          #define	min(a,b) (((a)<(b))?(a):(b))
  14          #define	max(a,b) (((a)>(b))?(a):(b))
  15          //-----------------------------------------------------------------------------
  16          // Constants
  17          //-----------------------------------------------------------------------------
  18          #define	bmRequestType 	0
  19          #define bRequest		1
  20          #define	wValueL		 	2
  21          #define wValueH			3
  22          #define	wIndexL		 	4
  23          #define wIndexH			5
  24          #define	wLengthL		6
  25          #define wLengthH		7
  26          //
  27          #define GET_REPORT		0x01	// HID Request Types
  28          #define SET_REPORT		0x09
  29          #define GET_IDLE		0x02
  30          #define SET_IDLE		0x0A
  31          //
  32          #define rt_INPUT		1		// HID report types
  33          #define rt_OUTPUT		2
  34          #define rt_FEATURE		3		// all others are 'reserved'
  35          //-----------------------------------------------------------------------------
  36          // Global Variables
  37          //-----------------------------------------------------------------------------
  38          //volatile BOOL	GotSUD;	// set by SUDAV ISR
  39          //volatile BOOL	Sleep;	// Sleep mode enable flag
  40          BOOL	GotSUD;			// set by SUDAV ISR
  41          BOOL	Sleep;			// Sleep mode enable flag
  42          BOOL	Rwuen;
  43          BOOL	Selfpwr;
  44          BYTE	IdleRate;
  45          //-----------------------------------------------------------------------------
  46          // Prototypes
  47          //-----------------------------------------------------------------------------
  48          void SetupCommand(void);
  49          void TD_Init(void);
  50          void TD_Poll(void);
  51          BOOL TD_Suspend(void);
  52          BOOL TD_Resume(void);
  53          
  54          BOOL DR_SetConfiguration(void);
  55          BOOL DR_GetConfiguration(void);
C51 COMPILER V6.10  FW2HID                                                                 07/11/2005 20:41:13 PAGE 2   

  56          BOOL DR_SetInterface(void);
  57          BOOL DR_GetInterface(void);
  58          BOOL DR_GetStatus(void);
  59          BOOL DR_ClearFeature(void);
  60          BOOL DR_SetFeature(void);
  61          
  62          void process_standard_request(void);
  63          void process_class_request(void);
  64          void process_descriptor(void);
  65          
  66          //-----------------------------------------------------------------------------
  67          // Descriptors
  68          //-----------------------------------------------------------------------------
  69          extern code	DeviceDescr,ConfigDescr,String0,String1,String2,HIDDescr;
  70          extern code ReportDescr,ReportDescr_end;
  71          //-----------------------------------------------------------------------------
  72          // Code
  73          //-----------------------------------------------------------------------------
  74          
  75          // Task dispatcher
  76          void main(void)						// power-on reset takes us here
  77          {
  78   1      	// Initialize Global States
  79   1      	Sleep = FALSE;					// Disable sleep mode
  80   1      	Rwuen = FALSE;					// Disable remote wakeup
  81   1      	Selfpwr = FALSE;				// Disable self powered
  82   1      	GotSUD = FALSE;					// Clear "Got setup data" flag
  83   1      
  84   1      	// Initialize user device
  85   1      	TD_Init();
  86   1      
  87   1      	EZUSB_IRQ_ENABLE();					// Enable USB interrupt (INT2)
  88   1      	EZUSB_ENABLE_RSMIRQ();				// Wake-up interrupt
  89   1      	PORTCCFG |= 0xc0;					// Turn on r/w lines for external memory (Keil monitor)
  90   1      	USBBAV = USBBAV | 1 & ~bmBREAK;		// Disable breakpoints and ENABLE autovectoring
  91   1      	USBIEN |= bmSUDAV | bmSUSP | bmURES;	// Enable selected interrupts
  92   1      	EA = 1;								// Enable 8051 interrupts
  93   1      
  94   1          EZUSB_Discon(TRUE); 				// ReNumerate
  95   1       
  96   1      	// Task Dispatcher
  97   1      	while(TRUE)							// Main Loop
  98   1      	{
  99   2      		if(GotSUD)						// Wait for SUDAV
 100   2      		{
 101   3      			SetupCommand();	 			// Service the SETUP request
 102   3        			GotSUD = FALSE;				// Clear SUDAV flag--NOTE: clearing GotSUD after calling SetupCommand()
 103   3      		}								// properly handles multi-packet Get_Descriptor_Report requests
 104   2      										// (which would generate multiple SUDAV interrupts).
 105   2      		if (Sleep)						// set to TRUE by the SUSPEND ISR
 106   2      		    {
 107   3          		if(TD_Suspend())			// hook in periph.c to do stuff before suspending
 108   3          		    { 
 109   4          		    Sleep = FALSE;	   		// Clear the "go to sleep" flag.  Do it here to prevent any race condition b
             -etween wakeup and the next sleep.
 110   4          		    do
 111   4          		        {
 112   5             			    EZUSB_Susp();		// Place processor in idle mode.
 113   5          		        }
 114   4                      while(!Rwuen && EZUSB_EXTWAKEUP());
 115   4                      // Must continue to go back into suspend if the host has disabled remote wakeup
 116   4                      // *and* the wakeup was caused by the external wakeup pin.
C51 COMPILER V6.10  FW2HID                                                                 07/11/2005 20:41:13 PAGE 3   

 117   4                      
 118   4          			// 8051 activity will resume here due to USB bus or Wakeup# pin activity.
 119   4          			EZUSB_Resume();	// If source is the Wakeup# pin, signal the host to Resume.		
 120   4          			TD_Resume();
 121   4          		    }   
 122   3      		    }
 123   2      
 124   2      		TD_Poll();
 125   2      	} // end while(TRUE)
 126   1      }
 127          
 128          // Device request parser
 129          void SetupCommand(void)
 130          {
 131   1      	switch(SETUPDAT[bmRequestType] & 0x60)	// 00-std,20-class,40-vendor,60-reserved.
 132   1      	{
 133   2      		case SETUP_STANDARD_REQUEST:
 134   2      			process_standard_request();
 135   2      		break;
 136   2      		case SETUP_CLASS_REQUEST:
 137   2      			process_class_request();
 138   2      		break;
 139   2      		default:
 140   2       			EZUSB_STALL_EP0();		// we don't handle SETUP_VENDOR_REQUEST or "Reserved".
 141   2      	}
 142   1      EP0CS = bmHS;						// Clear the HS-NAK bit by writing '1' to it
 143   1      }
 144          
 145          void process_standard_request(void)
 146          {
 147   1      	switch(SETUPDAT[bRequest])
 148   1      	{
 149   2      		case SC_GET_DESCRIPTOR:		// *** Get Descriptor
 150   2      			process_descriptor();
 151   2      		break;
 152   2      		case SC_GET_INTERFACE:					// *** Get Interface
 153   2      			DR_GetInterface();
 154   2      		break;
 155   2      		case SC_SET_INTERFACE:					// *** Set Interface
 156   2      			DR_SetInterface();
 157   2      		break;
 158   2      		case SC_SET_CONFIGURATION:				// *** Set Configuration
 159   2      			DR_SetConfiguration();
 160   2      		break;
 161   2      		case SC_GET_CONFIGURATION:				// *** Get Configuration
 162   2      			DR_GetConfiguration();
 163   2      		break;
 164   2      		case SC_GET_STATUS:						// *** Get Status
 165   2      			if(DR_GetStatus())
 166   2      				switch(SETUPDAT[bmRequestType])
 167   2      				{
 168   3      					case GS_DEVICE:				// Device
 169   3      						IN0BUF[0] = ((BYTE)Rwuen << 1) | (BYTE)Selfpwr;
 170   3      						IN0BUF[1] = 0;
 171   3      						EZUSB_SET_EP_BYTES(IN0BUF_ID,2);
 172   3      					break;
 173   3      					case GS_INTERFACE:			// Interface

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品护士白丝一区av| 久久久久97国产精华液好用吗| 激情文学综合丁香| 久久不见久久见免费视频7| 亚洲成av人片一区二区| 午夜久久久影院| 亚洲成av人片在线观看| 三级欧美韩日大片在线看| 亚洲第一会所有码转帖| 日本va欧美va欧美va精品| 调教+趴+乳夹+国产+精品| 日本中文在线一区| 久久精品国产一区二区三| 国产美女久久久久| aaa欧美色吧激情视频| 91女厕偷拍女厕偷拍高清| 在线看国产一区二区| 7777精品伊人久久久大香线蕉超级流畅| 欧美日韩精品久久久| 91精品国产乱码久久蜜臀| 久久久影视传媒| 最新国产精品久久精品| 亚洲午夜三级在线| 男女男精品网站| 成人黄页在线观看| 色婷婷狠狠综合| 欧美一级爆毛片| 国产精品美女一区二区在线观看| 亚洲四区在线观看| 久久精工是国产品牌吗| www.欧美日韩| 欧美一级欧美三级| 国产精品丝袜久久久久久app| 亚洲一卡二卡三卡四卡无卡久久| 日av在线不卡| 91亚洲精品一区二区乱码| 欧美精品成人一区二区三区四区| 26uuuu精品一区二区| 一区二区三区欧美久久| 韩国毛片一区二区三区| 色婷婷国产精品综合在线观看| 日韩精品中午字幕| 亚洲精品国产视频| 精品一区二区日韩| 欧美最新大片在线看| 国产情人综合久久777777| 无码av免费一区二区三区试看| 国产美女在线精品| 欧美一二三区在线观看| 亚洲一区二区三区激情| 懂色av一区二区夜夜嗨| 欧美一级精品在线| 亚洲成人自拍网| 99久久精品国产一区| 欧美精品一区二区不卡| 奇米影视在线99精品| 欧美综合一区二区三区| 亚洲天堂中文字幕| 成人av网在线| 国产亚洲欧美日韩在线一区| 免费高清在线一区| 91精品免费在线观看| 亚洲电影一级片| 91久久久免费一区二区| 成人免费在线观看入口| 成人午夜伦理影院| 久久久影视传媒| 国内精品久久久久影院薰衣草| 欧美一区三区二区| 免费人成精品欧美精品| 777a∨成人精品桃花网| 日本欧美在线观看| 91精品黄色片免费大全| 午夜欧美视频在线观看| 欧美日韩一区二区三区高清| 一区二区免费看| 色噜噜狠狠色综合中国| 18欧美乱大交hd1984| 97久久精品人人做人人爽50路| 久久精品一区二区三区不卡| 激情图区综合网| 久久久久成人黄色影片| 成人综合婷婷国产精品久久| 国产日韩亚洲欧美综合| 成人激情文学综合网| 亚洲欧美日韩国产综合在线| 色悠悠久久综合| 亚洲第四色夜色| 日韩久久精品一区| 国产精品一品二品| 亚洲日本中文字幕区| 欧美性生活影院| 亚洲午夜三级在线| 91精品国产综合久久国产大片| 青青草原综合久久大伊人精品优势| 91精品国产色综合久久ai换脸| 日韩不卡一二三区| 久久麻豆一区二区| 91欧美一区二区| 日韩电影在线一区二区| 久久久久国色av免费看影院| 成人手机在线视频| 午夜精品久久久久久久久| 亚洲精品一区二区三区福利| jvid福利写真一区二区三区| 亚洲一区二区三区精品在线| 日韩欧美一区二区免费| caoporen国产精品视频| 伊人夜夜躁av伊人久久| 日韩午夜小视频| 91一区二区三区在线观看| 视频一区二区欧美| 欧美激情一区在线| 91超碰这里只有精品国产| 国产91富婆露脸刺激对白| 午夜欧美视频在线观看| 国产精品福利在线播放| 宅男在线国产精品| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 成人av网站在线| 日韩高清一级片| 中文字幕一区在线观看| 日韩欧美国产精品一区| 在线视频国内一区二区| 国产成人在线色| 美腿丝袜亚洲色图| 亚洲国产欧美在线人成| 欧美韩日一区二区三区| 日韩欧美电影一二三| 欧美色网一区二区| 91原创在线视频| 国产成人在线视频免费播放| 美国欧美日韩国产在线播放| 亚洲激情图片小说视频| 久久久久久久久岛国免费| 91精品国产综合久久精品图片 | 婷婷激情综合网| 亚洲日本丝袜连裤袜办公室| 久久久精品2019中文字幕之3| 日韩欧美中文字幕一区| 欧美精品在线一区二区三区| 日本精品一区二区三区四区的功能| 高清免费成人av| 国产成人精品综合在线观看| 国产一区二区三区蝌蚪| 国产曰批免费观看久久久| 久久精品国产成人一区二区三区| 亚洲大片在线观看| 性久久久久久久久久久久| 亚洲一区在线免费观看| 一级中文字幕一区二区| 亚洲精品乱码久久久久久日本蜜臀| 国产精品美女久久久久久久久久久| 国产欧美视频在线观看| 日本一区二区三区久久久久久久久不| 日韩欧美国产一二三区| 久久综合一区二区| 久久久久久久综合狠狠综合| 久久婷婷色综合| 中文av一区二区| 亚洲视频免费观看| 一区二区三区久久| 亚洲地区一二三色| 美女精品自拍一二三四| 国产美女精品人人做人人爽| 国产精品99久久久久久有的能看 | 欧美亚洲日本国产| 欧美日韩精品一区二区三区四区 | 国产日韩欧美精品一区| 中文字幕第一区综合| 亚洲人成网站精品片在线观看| 一区二区三区av电影| 亚洲gay无套男同| 久久超级碰视频| 白白色 亚洲乱淫| 欧美日韩另类一区| 久久综合资源网| 亚洲人妖av一区二区| 日本成人在线一区| 国产成人免费视频网站 | 8x8x8国产精品| 久久婷婷国产综合国色天香| 亚洲丝袜自拍清纯另类| 日韩高清不卡一区二区| 国产成人精品在线看| 欧美日韩中字一区| 久久伊人中文字幕| 亚洲欧美区自拍先锋| 日产国产高清一区二区三区| 成人h动漫精品一区二区| 欧美日韩国产一级片| 国产女人18水真多18精品一级做| 一区二区三区四区中文字幕| 毛片一区二区三区| 91色.com| 久久久久亚洲蜜桃| 日韩av中文在线观看| 91欧美一区二区| 国产欧美日本一区二区三区| 午夜欧美大尺度福利影院在线看|