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

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

?? 00000005.htm

?? 水木社區 embeded 版精華區 下載
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>Re: usb數字小鍵盤                      turbolinux </title></head><body><center><h1>BBS 水木清華站∶精華區</h1></center><a name="top"></a>發信人:&nbsp;luckbird&nbsp;(幸福鳥),&nbsp;信區:&nbsp;Embedded&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />標&nbsp;&nbsp;題:&nbsp;Re:&nbsp;usb數字小鍵盤&nbsp;<br />發信站:&nbsp;BBS&nbsp;水木清華站&nbsp;(Thu&nbsp;Apr&nbsp;18&nbsp;08:17:56&nbsp;2002)&nbsp;<br />&nbsp;<br />對了是2131的板子&nbsp;<br />//-------------------------------------------------------------------------&nbsp;<br />----&nbsp;<br />//&nbsp;File:&nbsp;&nbsp;fw.c&nbsp;<br />//&nbsp;Contents:&nbsp;Firmware&nbsp;frameworks&nbsp;task&nbsp;dispatcher&nbsp;and&nbsp;device&nbsp;request&nbsp;parser&nbsp;<br />//&nbsp;&nbsp;&nbsp;&nbsp;source.&nbsp;<br />//&nbsp;<br />//&nbsp;Copyright&nbsp;(c)&nbsp;2001&nbsp;Cypress&nbsp;Semiconductor,&nbsp;Inc.&nbsp;All&nbsp;rights&nbsp;reserved&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />#include&nbsp;&lt;ezusb.h&gt;&nbsp;<br />#include&nbsp;&lt;ezregs.h&gt;&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />//&nbsp;Random&nbsp;Macros&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />#define&nbsp;min(a,b)&nbsp;(((a)&lt;(b))?(a):(b))&nbsp;<br />#define&nbsp;max(a,b)&nbsp;(((a)&gt;(b))?(a):(b))&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />//&nbsp;Constants&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />#define&nbsp;DELAY_COUNT&nbsp;&nbsp;&nbsp;&nbsp;0x9248*8L&nbsp;&nbsp;//&nbsp;Delay&nbsp;for&nbsp;8&nbsp;sec&nbsp;at&nbsp;24Mhz,&nbsp;4&nbsp;sec&nbsp;at&nbsp;48&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />//&nbsp;Global&nbsp;Variables&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />volatile&nbsp;BOOL&nbsp;GotSUD;&nbsp;<br />BOOL&nbsp;&nbsp;Rwuen;&nbsp;<br />BOOL&nbsp;&nbsp;Selfpwr;&nbsp;<br />volatile&nbsp;BOOL&nbsp;Sleep;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Sleep&nbsp;mode&nbsp;enable&nbsp;flag&nbsp;<br />WORD&nbsp;pDeviceDscr;&nbsp;//&nbsp;Pointer&nbsp;to&nbsp;Device&nbsp;Descriptor;&nbsp;Descriptors&nbsp;may&nbsp;be&nbsp;moved&nbsp;<br />WORD&nbsp;pConfigDscr;&nbsp;<br />WORD&nbsp;pStringDscr;&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />//&nbsp;Prototypes&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />void&nbsp;SetupCommand(void);&nbsp;<br />void&nbsp;TD_Init(void);&nbsp;<br />void&nbsp;TD_Poll(void);&nbsp;<br />BOOL&nbsp;TD_Suspend(void);&nbsp;<br />BOOL&nbsp;TD_Resume(void);&nbsp;<br />BOOL&nbsp;DR_GetDescriptor(void);&nbsp;<br />BOOL&nbsp;DR_SetConfiguration(void);&nbsp;<br />BOOL&nbsp;DR_GetConfiguration(void);&nbsp;<br />BOOL&nbsp;DR_SetInterface(void);&nbsp;<br />BOOL&nbsp;DR_GetInterface(void);&nbsp;<br />BOOL&nbsp;DR_GetStatus(void);&nbsp;<br />BOOL&nbsp;DR_ClearFeature(void);&nbsp;<br />BOOL&nbsp;DR_SetFeature(void);&nbsp;<br />BOOL&nbsp;DR_VendorCmnd(void);&nbsp;<br />BOOL&nbsp;DR_ClassRequest(void);&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />//&nbsp;Code&nbsp;<br />//--------------------------------------------------------------------------&nbsp;<br />---&nbsp;<br />//&nbsp;Task&nbsp;dispatcher&nbsp;<br />void&nbsp;main(void)&nbsp;<br />{&nbsp;<br />&nbsp;DWORD&nbsp;i;&nbsp;<br />&nbsp;WORD&nbsp;offset;&nbsp;<br />&nbsp;DWORD&nbsp;DevDescrLen;&nbsp;<br />&nbsp;DWORD&nbsp;j=0;&nbsp;<br />&nbsp;WORD&nbsp;IntDescrAddr;&nbsp;<br />&nbsp;WORD&nbsp;ExtDescrAddr;&nbsp;<br />&nbsp;//&nbsp;Initialize&nbsp;Global&nbsp;States&nbsp;<br />&nbsp;Sleep&nbsp;=&nbsp;FALSE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Disable&nbsp;sleep&nbsp;mode&nbsp;<br />&nbsp;Rwuen&nbsp;=&nbsp;FALSE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Disable&nbsp;remote&nbsp;wakeup&nbsp;<br />&nbsp;Selfpwr&nbsp;=&nbsp;FALSE;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Disable&nbsp;self&nbsp;powered&nbsp;<br />&nbsp;GotSUD&nbsp;=&nbsp;FALSE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;&quot;Got&nbsp;setup&nbsp;data&quot;&nbsp;flag&nbsp;<br />&nbsp;//&nbsp;Initialize&nbsp;user&nbsp;device&nbsp;<br />&nbsp;TD_Init();&nbsp;<br />&nbsp;//&nbsp;The&nbsp;following&nbsp;section&nbsp;of&nbsp;code&nbsp;is&nbsp;used&nbsp;to&nbsp;relocate&nbsp;the&nbsp;descriptor&nbsp;table.&nbsp;<br />&nbsp;//&nbsp;Since&nbsp;the&nbsp;SUDPTRH&nbsp;and&nbsp;SUDPTRL&nbsp;are&nbsp;assigned&nbsp;the&nbsp;address&nbsp;of&nbsp;the&nbsp;descriptor&nbsp;<br />&nbsp;<br />&nbsp;//&nbsp;table,&nbsp;the&nbsp;descriptor&nbsp;table&nbsp;must&nbsp;be&nbsp;located&nbsp;in&nbsp;on-part&nbsp;memory.&nbsp;<br />&nbsp;//&nbsp;The&nbsp;4K&nbsp;demo&nbsp;tools&nbsp;locate&nbsp;all&nbsp;code&nbsp;sections&nbsp;in&nbsp;external&nbsp;memory.&nbsp;<br />&nbsp;//&nbsp;The&nbsp;descriptor&nbsp;table&nbsp;is&nbsp;relocated&nbsp;by&nbsp;the&nbsp;frameworks&nbsp;ONLY&nbsp;if&nbsp;it&nbsp;is&nbsp;found&nbsp;<br />&nbsp;//&nbsp;to&nbsp;be&nbsp;located&nbsp;in&nbsp;external&nbsp;memory.&nbsp;<br />&nbsp;pDeviceDscr&nbsp;=&nbsp;(WORD)&amp;DeviceDscr;&nbsp;<br />&nbsp;pConfigDscr&nbsp;=&nbsp;(WORD)&amp;ConfigDscr;&nbsp;<br />&nbsp;pStringDscr&nbsp;=&nbsp;(WORD)&amp;StringDscr;&nbsp;<br />&nbsp;if&nbsp;((WORD)&amp;DeviceDscr&nbsp;&amp;&nbsp;0xe000)&nbsp;<br />&nbsp;{&nbsp;<br />&nbsp;&nbsp;IntDescrAddr&nbsp;=&nbsp;INTERNAL_DSCR_ADDR;&nbsp;<br />&nbsp;&nbsp;ExtDescrAddr&nbsp;=&nbsp;(WORD)&amp;DeviceDscr;&nbsp;<br />&nbsp;&nbsp;DevDescrLen&nbsp;=&nbsp;(WORD)&amp;UserDscr&nbsp;-&nbsp;(WORD)&amp;DeviceDscr&nbsp;+&nbsp;2;&nbsp;<br />&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;DevDescrLen;&nbsp;i++)&nbsp;<br />&nbsp;&nbsp;&nbsp;*((BYTE&nbsp;xdata&nbsp;*)IntDescrAddr+i)&nbsp;=&nbsp;0xCD;&nbsp;<br />&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;DevDescrLen;&nbsp;i++)&nbsp;<br />&nbsp;&nbsp;&nbsp;*((BYTE&nbsp;xdata&nbsp;*)IntDescrAddr+i)&nbsp;=&nbsp;*((BYTE&nbsp;xdata&nbsp;*)ExtDescrAddr+i);&nbsp;<br />&nbsp;&nbsp;pDeviceDscr&nbsp;=&nbsp;IntDescrAddr;&nbsp;<br />&nbsp;&nbsp;offset&nbsp;=&nbsp;(WORD)&amp;DeviceDscr&nbsp;-&nbsp;INTERNAL_DSCR_ADDR;&nbsp;<br />&nbsp;&nbsp;pConfigDscr&nbsp;-=&nbsp;offset;&nbsp;<br />&nbsp;&nbsp;pStringDscr&nbsp;-=&nbsp;offset;&nbsp;<br />&nbsp;}&nbsp;<br />&nbsp;EZUSB_IRQ_ENABLE();&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;USB&nbsp;interrupt&nbsp;(INT2)&nbsp;<br />&nbsp;EZUSB_ENABLE_RSMIRQ();&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Wake-up&nbsp;interrupt&nbsp;<br />&nbsp;//&nbsp;The&nbsp;8051&nbsp;is&nbsp;responsible&nbsp;for&nbsp;all&nbsp;USB&nbsp;events,&nbsp;even&nbsp;those&nbsp;that&nbsp;have&nbsp;happene&nbsp;<br />d&nbsp;<br />&nbsp;//&nbsp;before&nbsp;this&nbsp;point.&nbsp;&nbsp;We&nbsp;cannot&nbsp;ignore&nbsp;pending&nbsp;USB&nbsp;interrupts.&nbsp;<br />&nbsp;//&nbsp;The&nbsp;chip&nbsp;will&nbsp;come&nbsp;out&nbsp;of&nbsp;reset&nbsp;with&nbsp;the&nbsp;flags&nbsp;all&nbsp;cleared.&nbsp;<br />&nbsp;//&nbsp;USBIRQ&nbsp;=&nbsp;0xff;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;any&nbsp;pending&nbsp;USB&nbsp;interrupt&nbsp;requests&nbsp;<br />&nbsp;PORTCCFG&nbsp;|=&nbsp;0xc0;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Turn&nbsp;on&nbsp;r/w&nbsp;lines&nbsp;for&nbsp;external&nbsp;memory&nbsp;<br />&nbsp;USBBAV&nbsp;=&nbsp;USBBAV&nbsp;|&nbsp;1&nbsp;&amp;&nbsp;~bmBREAK;&nbsp;//&nbsp;Disable&nbsp;breakpoints&nbsp;and&nbsp;autovectoring&nbsp;<br />&nbsp;USBIEN&nbsp;|=&nbsp;bmSUDAV&nbsp;|&nbsp;bmSUTOK&nbsp;|&nbsp;bmSUSP&nbsp;|&nbsp;bmURES;&nbsp;//&nbsp;Enable&nbsp;selected&nbsp;interrupt&nbsp;<br />s&nbsp;<br />&nbsp;EA&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Enable&nbsp;8051&nbsp;interrupts&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Note:&nbsp;at&nbsp;full&nbsp;speed,&nbsp;high&nbsp;speed&nbsp;hosts&nbsp;may&nbsp;take&nbsp;5&nbsp;sec&nbsp;to&nbsp;detect&nbsp;device&nbsp;<br />&nbsp;<br />&nbsp;#ifndef&nbsp;NO_RENUM&nbsp;<br />&nbsp;&nbsp;&nbsp;EZUSB_Discon(TRUE);&nbsp;//&nbsp;renumerate&nbsp;<br />&nbsp;#endif&nbsp;<br />&nbsp;CKCON&nbsp;=&nbsp;(CKCON&amp;(~bmSTRETCH))&nbsp;|&nbsp;FW_STRETCH_VALUE;&nbsp;//&nbsp;Set&nbsp;stretch&nbsp;to&nbsp;0&nbsp;(after&nbsp;<br />&nbsp;renumeration)&nbsp;<br />&nbsp;//&nbsp;Task&nbsp;Dispatcher&nbsp;<br />&nbsp;while(TRUE)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Main&nbsp;Loop&nbsp;<br />&nbsp;{&nbsp;<br />&nbsp;&nbsp;if(GotSUD)&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Wait&nbsp;for&nbsp;SUDAV&nbsp;<br />&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;SetupCommand();&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Implement&nbsp;setup&nbsp;command&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GotSUD&nbsp;=&nbsp;FALSE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;SUDAV&nbsp;flag&nbsp;<br />&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;//&nbsp;Poll&nbsp;User&nbsp;Device&nbsp;<br />&nbsp;&nbsp;//&nbsp;NOTE:&nbsp;Idle&nbsp;mode&nbsp;stops&nbsp;the&nbsp;processor&nbsp;clock.&nbsp;&nbsp;There&nbsp;are&nbsp;only&nbsp;two&nbsp;<br />&nbsp;&nbsp;//&nbsp;ways&nbsp;out&nbsp;of&nbsp;idle&nbsp;mode,&nbsp;the&nbsp;WAKEUP&nbsp;pin,&nbsp;and&nbsp;detection&nbsp;of&nbsp;the&nbsp;USB&nbsp;<br />&nbsp;&nbsp;//&nbsp;resume&nbsp;state&nbsp;on&nbsp;the&nbsp;USB&nbsp;bus.&nbsp;&nbsp;The&nbsp;timers&nbsp;will&nbsp;stop&nbsp;and&nbsp;the&nbsp;<br />&nbsp;&nbsp;//&nbsp;processor&nbsp;will&nbsp;not&nbsp;wake&nbsp;up&nbsp;on&nbsp;any&nbsp;other&nbsp;interrupts.&nbsp;<br />&nbsp;&nbsp;if&nbsp;(Sleep)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(TD_Suspend())&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sleep&nbsp;=&nbsp;FALSE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clear&nbsp;the&nbsp;&quot;go&nbsp;to&nbsp;sleep&quot;&nbsp;flag.&nbsp;&nbsp;Do&nbsp;it&nbsp;here&nbsp;t&nbsp;<br />o&nbsp;prevent&nbsp;any&nbsp;race&nbsp;condition&nbsp;between&nbsp;wakeup&nbsp;and&nbsp;the&nbsp;next&nbsp;sleep.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EZUSB_Susp();&nbsp;&nbsp;&nbsp;//&nbsp;Place&nbsp;processor&nbsp;in&nbsp;idle&nbsp;mode.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!Rwuen&nbsp;&amp;&amp;&nbsp;EZUSB_EXTWAKEUP());&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Must&nbsp;continue&nbsp;to&nbsp;go&nbsp;back&nbsp;into&nbsp;suspend&nbsp;if&nbsp;the&nbsp;host&nbsp;has&nbsp;dis&nbsp;<br />abled&nbsp;remote&nbsp;wakeup&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;*and*&nbsp;the&nbsp;wakeup&nbsp;was&nbsp;caused&nbsp;by&nbsp;the&nbsp;external&nbsp;wakeup&nbsp;pin.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;8051&nbsp;activity&nbsp;will&nbsp;resume&nbsp;here&nbsp;due&nbsp;to&nbsp;USB&nbsp;bus&nbsp;or&nbsp;Wakeup#&nbsp;pin&nbsp;activ&nbsp;<br />ity.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EZUSB_Resume();&nbsp;//&nbsp;If&nbsp;source&nbsp;is&nbsp;the&nbsp;Wakeup#&nbsp;pin,&nbsp;signal&nbsp;the&nbsp;host&nbsp;to&nbsp;R&nbsp;<br />esume.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TD_Resume();&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;TD_Poll();&nbsp;<br />&nbsp;}&nbsp;<br />}&nbsp;<br />//&nbsp;Device&nbsp;request&nbsp;parser&nbsp;<br />void&nbsp;SetupCommand(void)&nbsp;<br />{&nbsp;<br />&nbsp;void&nbsp;*dscr_ptr;&nbsp;<br />&nbsp;DWORD&nbsp;i;&nbsp;<br />&nbsp;switch(SETUPDAT[0]&nbsp;&amp;&nbsp;SETUP_MASK)&nbsp;<br />&nbsp;{&nbsp;<br />&nbsp;&nbsp;case&nbsp;SETUP_STANDARD_REQUEST:&nbsp;&nbsp;//Standard&nbsp;Request&nbsp;<br />&nbsp;&nbsp;&nbsp;switch(SETUPDAT[1])&nbsp;<br />&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;SC_GET_DESCRIPTOR:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;***&nbsp;Get&nbsp;Descriptor&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(DR_GetDescriptor())&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(SETUPDAT[3])&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;GD_DEVICE:&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Device&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUDPTRH&nbsp;=&nbsp;MSB(pDeviceDscr);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUDPTRL&nbsp;=&nbsp;LSB(pDeviceDscr);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;GD_CONFIGURATION:&nbsp;&nbsp;&nbsp;//&nbsp;Configuration&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(dscr_ptr&nbsp;=&nbsp;(void&nbsp;*)EZUSB_GetConfigDscr(SETUPDAT[2]))&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUDPTRH&nbsp;=&nbsp;MSB(dscr_ptr);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUDPTRL&nbsp;=&nbsp;LSB(dscr_ptr);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EZUSB_STALL_EP0();&nbsp;&nbsp;//&nbsp;Stall&nbsp;End&nbsp;Point&nbsp;0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;GD_STRING:&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;String&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(dscr_ptr&nbsp;=&nbsp;(void&nbsp;*)EZUSB_GetStringDscr(SETUPDAT[2]))&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97精品久久久久中文字幕| 99热精品国产| 国产精品麻豆网站| 7777精品伊人久久久大香线蕉的| 激情偷乱视频一区二区三区| 一区二区久久久| 久久综合精品国产一区二区三区| 色94色欧美sute亚洲线路一久| 国产激情视频一区二区三区欧美 | 国产精品欧美一区喷水| 欧美精品tushy高清| 99精品热视频| 国产精品一区二区久久精品爱涩| 亚洲成人免费视| 亚洲欧洲制服丝袜| 国产精品美女久久久久av爽李琼| 精品久久99ma| 欧美丰满嫩嫩电影| 色哟哟亚洲精品| 波多野结衣的一区二区三区| 九色综合狠狠综合久久| 亚洲成人1区2区| 亚洲综合一区在线| 亚洲女与黑人做爰| 国产精品乱人伦中文| 国产校园另类小说区| 精品国产三级电影在线观看| 日韩一区二区三区av| 欧美人动与zoxxxx乱| 在线一区二区视频| 在线免费观看不卡av| 日本道在线观看一区二区| 91网上在线视频| 97久久人人超碰| 99视频国产精品| 91免费看`日韩一区二区| 风间由美一区二区三区在线观看 | 91伊人久久大香线蕉| 国产99久久久国产精品潘金网站| 韩国欧美国产1区| 精品一区二区三区影院在线午夜| 免费成人av在线播放| 免费观看成人av| 久久国产日韩欧美精品| 久久草av在线| 国产精品一区二区在线观看网站| 国产裸体歌舞团一区二区| 国产成人免费视频| www.欧美.com| 91影院在线免费观看| 91久久精品国产91性色tv| 欧美日韩二区三区| 欧美一区二区三区性视频| 日韩亚洲欧美综合| 久久久高清一区二区三区| 国产欧美精品国产国产专区| 中文字幕一区二区在线播放| 亚洲狼人国产精品| 婷婷成人综合网| 麻豆视频一区二区| 国产成a人亚洲| 91在线观看视频| 制服.丝袜.亚洲.中文.综合| 日韩精品一区二| 国产精品久久久久久久久免费樱桃| 欧美激情一区二区在线| 有码一区二区三区| 日本怡春院一区二区| 国产专区欧美精品| 91伊人久久大香线蕉| 欧美高清dvd| 国产视频一区二区在线观看| 中文字幕制服丝袜一区二区三区| 亚洲一区二区欧美| 精品一区二区三区免费毛片爱| 国产超碰在线一区| 欧美日韩一二三区| 久久精品亚洲精品国产欧美kt∨| 亚洲精品五月天| 人禽交欧美网站| 99久久精品情趣| 欧美一区二区在线播放| 国产婷婷精品av在线| 午夜亚洲国产au精品一区二区| 国产剧情一区二区三区| 日本精品一级二级| 精品99一区二区| 一区二区三区四区高清精品免费观看 | 青青草国产精品亚洲专区无| 成人免费毛片app| 日韩一区二区三区视频| 一区免费观看视频| 蜜桃免费网站一区二区三区| 91在线云播放| 久久精品亚洲精品国产欧美kt∨| 亚洲第一成年网| 不卡视频在线看| 精品国产精品网麻豆系列| 亚洲精品国产第一综合99久久 | 成人h动漫精品| 日韩欧美国产一区二区在线播放| 亚洲男人电影天堂| 国产一区不卡精品| 欧美日韩1区2区| 成人免费一区二区三区视频 | 亚洲日本免费电影| 国产美女久久久久| 欧美一级片在线看| 亚洲资源在线观看| 99精品视频在线观看| 久久一区二区三区国产精品| 亚洲永久精品国产| 99精品欧美一区二区蜜桃免费| 精品久久人人做人人爱| 亚洲444eee在线观看| 99r精品视频| 中文字幕不卡一区| 国产精品羞羞答答xxdd| 精品精品国产高清a毛片牛牛| 亚洲高清免费视频| 色综合天天综合给合国产| 国产女主播视频一区二区| 六月丁香婷婷色狠狠久久| 91精选在线观看| 香蕉成人伊视频在线观看| 一本色道久久综合狠狠躁的推荐| 国产精品五月天| 成人性生交大片免费看在线播放| 久久久久99精品国产片| 国内精品国产三级国产a久久| 精品日韩欧美一区二区| 精品亚洲成a人在线观看| 精品国产免费久久 | 欧亚洲嫩模精品一区三区| 亚洲欧洲成人自拍| 99久久婷婷国产综合精品电影| 欧美—级在线免费片| 成人99免费视频| 综合婷婷亚洲小说| 99re8在线精品视频免费播放| 日韩毛片视频在线看| 97久久精品人人澡人人爽| 最新高清无码专区| 欧美影视一区二区三区| 亚洲福利视频一区二区| 91麻豆精品国产综合久久久久久| 日本免费新一区视频| 欧美哺乳videos| 国产成人精品网址| 日韩毛片在线免费观看| 色老综合老女人久久久| 午夜视频一区在线观看| 91精品国产综合久久香蕉麻豆| 奇米色一区二区| 久久久久国产精品麻豆ai换脸| 成人毛片视频在线观看| 亚洲精品菠萝久久久久久久| 欧美在线啊v一区| 青青青爽久久午夜综合久久午夜| 日韩久久久精品| 国产成人av电影| 综合久久给合久久狠狠狠97色 | 久久精品视频在线看| 不卡高清视频专区| 午夜精品123| 久久综合久久久久88| 91麻豆免费视频| 日本一道高清亚洲日美韩| 2020日本不卡一区二区视频| 成人av午夜电影| 亚洲一区二区三区四区五区黄| 日韩精品一区二| 91免费国产在线| 美女视频一区在线观看| 国产精品色婷婷久久58| 欧美主播一区二区三区| 久久不见久久见免费视频1| 国产精品电影一区二区三区| 欧美一区二区视频在线观看2020 | 成人免费视频一区| 天堂在线一区二区| 国产精品欧美久久久久无广告| 欧美色网一区二区| 国产精品66部| 亚洲成av人片www| 国产视频一区不卡| 在线播放亚洲一区| 成人高清免费观看| 蜜桃一区二区三区四区| 亚洲免费观看高清完整版在线| 日韩久久久精品| 91久久久免费一区二区| 国产精品一区二区黑丝| 首页综合国产亚洲丝袜| 国产精品久久久久永久免费观看 | 欧美做爰猛烈大尺度电影无法无天| 久久精品国产亚洲aⅴ| 亚洲一二三专区| 国产精品美女久久久久aⅴ| 日韩精品一区二区三区四区|