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

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

?? ctrlrequest.lst

?? 增強型51單片機fs7821sd卡、mmc卡讀寫程序
?? LST
?? 第 1 頁 / 共 3 頁
字號:
 294   2                  break;
 295   2              
 296   2              case OUT_TOKEN:
 297   2              case IN_OK_TOKEN:
 298   2              default:
 299   2                  pSotaUsbRequest->InProgress = false;
 300   2                  if(FeatureCleared)
 301   2                  {
 302   3                      if(ScsiCmdSTALLed)
C51 COMPILER V7.02b   CTRLREQUEST                                                          02/01/2007 10:35:43 PAGE 6   

 303   3                      {
 304   4                          BulkReportHandle();
 305   4                          ScsiCmdSTALLed = false;
 306   4                      }
 307   3                  }
 308   2                  break;
 309   2          }
 310   1      }
 311          
 312          //----------------------------------------------------------------------------
 313          // Set USB Test Mode.
 314          //----------------------------------------------------------------------------
 315          void CtrlSetTestMode(BYTE TestItem)
 316          {
 317   1        BYTE TestModeReg;
 318   1      
 319   1        if ((((UINT32)HwId() << 16) | HwVersion()) >= 0x60340100)
 320   1          TestModeReg = USB_TEST_MODE1;
 321   1        else
 322   1          TestModeReg = USB_TEST_MODE0;
 323   1      
 324   1        switch (TestItem)
 325   1        {
 326   2           case TEST_J:
 327   2                CSRWrite(USB_BASE + TestModeReg, SET_TM_J);
 328   2                break; 
 329   2                           
 330   2           case TEST_K:
 331   2                CSRWrite(USB_BASE + TestModeReg, SET_TM_K);
 332   2                break; 
 333   2                           
 334   2           case TEST_SE0_NAK:
 335   2                CSRWrite(USB_BASE + TestModeReg, SET_TM_SE0_NAK);
 336   2                break; 
 337   2                           
 338   2           case TEST_PACKET:
 339   2                while (true)
 340   2                {
 341   3                  BYTE i;
 342   3      
 343   3                  CSRWrite(USB_BASE + TestModeReg, SET_TM_PKT);
 344   3                  for (i = 0; i < 120; i++); // Delay about 111us under 11MHz
 345   3                  CSRWrite(USB_BASE + TestModeReg, 0);
 346   3                }
 347   2                break; 
 348   2                           
 349   2           case TEST_FORCE_ENABLE:
 350   2                // Not Support.                     
 351   2           default:
 352   2                TestModeParam = NO_TEST_PARAM;       
 353   2                break;
 354   2        }     
 355   1      }               
 356          
 357          //----------------------------------------------------------------------------
 358          // Check USB Test Mode Parameters.
 359          //----------------------------------------------------------------------------
 360          bool CtrlChkTestMode(PUSB_REQUEST pReq, PBYTE Param)
 361          {
 362   1        bit Rc = false;
 363   1              
 364   1        if (pReq->bmRequestType == 0)
C51 COMPILER V7.02b   CTRLREQUEST                                                          02/01/2007 10:35:43 PAGE 7   

 365   1        {
 366   2          if (((TDataCast *)&(pReq->wIndex))->ucByte[0] == 0)
 367   2          {
 368   3            if (pReq->wLength == 0)
 369   3            {
 370   4              *Param = (BYTE)(pReq->wIndex);
 371   4              Rc = true;              
 372   4            }  
 373   3          }  
 374   2        }     
 375   1                     
 376   1        return Rc;           
 377   1      }
 378          
 379          //----------------------------------------------------------------------------
 380          // Set Feature Request,Only Support EP0 ~ EP3. 
 381          //----------------------------------------------------------------------------
 382          void CtrlReqSetFeature()
 383          {
 384   1        BYTE Token = pSotaUsbRequest->Token;
 385   1          
 386   1        switch(Token)
 387   1        {
 388   2          case SETUP_TOKEN:
 389   2                 CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0_STL);    
 390   2                 TestModeParam = NO_TEST_PARAM;
 391   2                 break;
 392   2                        
 393   2          case IN_TOKEN:
 394   2               {
 395   3                 PUSB_REQUEST pReq = &(pSotaUsbRequest->Request);
 396   3                 bit ReqAccept = false;
 397   3                 BYTE Value = (BYTE)ConvertEndian16(pReq->wValue);
 398   3                                                  
 399   3                 if (ENDPOINT_HALT == Value)
 400   3                 {
 401   4                   if (pReq->bmRequestType == 0x02)
 402   4                   {
 403   5                     BYTE Index = ((TDataCast *)&(pReq->wIndex))->ucByte[0];
 404   5                     BYTE Offset = CtrlEPIndex2RegOffset(Index);
 405   5                                    
 406   5                     if (Offset == 0xff)               
 407   5                       ReqAccept = false;    
 408   5                     else
 409   5                     {
 410   6                       ReqAccept = true;
 411   6                       if (Offset)
 412   6                         CSRWrite(USB_BASE + Offset, 0x02);
 413   6                       else                                 // Set EP0                
 414   6                         pSotaUsbRequest->HaltStatus = true;                              
 415   6                     }   
 416   5                   }
 417   4                 }
 418   3                 if (TEST_MODE == Value)
 419   3                   ReqAccept = CtrlChkTestMode(pReq, &TestModeParam);
 420   3                              
 421   3                 if (DEVICE_REMOTE_WAKEUP == Value) 
 422   3                 {
 423   4                   // Not Support Yet!
 424   4                   ReqAccept = true;          
 425   4                 }    
 426   3                 
C51 COMPILER V7.02b   CTRLREQUEST                                                          02/01/2007 10:35:43 PAGE 8   

 427   3                 if (ReqAccept)
 428   3                 {
 429   4                   CSRWrite(USB_BASE + EP0_TXCNT, 0);
 430   4                   CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0);    
 431   4                 }  
 432   3                 else
 433   3                   CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0_STL);    
 434   3                 break;
 435   3               }  
 436   2       
 437   2          case IN_OK_TOKEN:
 438   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0);    
 439   2               CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0_STL); 
 440   2             
 441   2          case OUT_TOKEN:
 442   2          default:
 443   2               pSotaUsbRequest->InProgress = false;
 444   2               if (TestModeParam != NO_TEST_PARAM)
 445   2               {
 446   3                 CtrlSetTestMode(TestModeParam);  
 447   3                 // Clear Test Mode until power reset(power cycled).
 448   3                 while(1); 
 449   3               }
 450   2               break;          
 451   2        }  
 452   1      }
 453          
 454          //----------------------------------------------------------------------------
 455          // Set Address Request 
 456          //  NOTE:
 457          //       It is critical on the timing of changing USB address. We must do it 
 458          //       before next Setup Token (With new address) and after now running
 459          //       transaction has been finished.So we end this request without using
 460          //       state machine.  
 461          //----------------------------------------------------------------------------
 462          void CtrlReqSetAddress()
 463          {
 464   1        BYTE Token = pSotaUsbRequest->Token;
 465   1            
 466   1        switch(Token)
 467   1        {
 468   2          case SETUP_TOKEN:
 469   2               { 
 470   3                 PUSB_REQUEST pReq = &(pSotaUsbRequest->Request);
 471   3      
 472   3                 UsbAddr = ((TDataCast *)&(pReq->wValue))->ucByte[0];
 473   3                 CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0_STL);
 474   3                 break;
 475   3               }
 476   2               
 477   2          case IN_TOKEN:
 478   2               CSRWrite(USB_BASE + USBADDR, UsbAddr);
 479   2               CSRWrite(USB_BASE + EP0_TXCNT, 0);
 480   2               CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0);
 481   2               /*
 482   2                  Before host set address,it would issue usb reset so we
 483   2                  must enable EP1,EP2 again.(These pipe were disable default)
 484   2               */
 485   2               CSRWrite(USB_BASE + EPCTL, EN_EP0 | EN_EP1 | EN_EP2 );
 486   2               // Clear the Bulk IN/OUT stall bits.
 487   2               CSRWrite(USB_BASE + EP1_TXCSR, 0x00);
 488   2               CSRWrite(USB_BASE + EP2_RXCSR, EN_RX2);
C51 COMPILER V7.02b   CTRLREQUEST                                                          02/01/2007 10:35:43 PAGE 9   

 489   2               pSotaUsbRequest->InProgress = false;
 490   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0);
 491   2               break;
 492   2      
 493   2          case IN_OK_TOKEN:
 494   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0);    
 495   2               CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0_STL); 
 496   2               break;
 497   2      
 498   2          case OUT_TOKEN:
 499   2          default:
 500   2               break;
 501   2        }  
 502   1      }
 503          
 504          static BYTE ConfigSetValue = 1;
 505          //----------------------------------------------------------------------------
 506          // Get Configuration Request 
 507          //----------------------------------------------------------------------------
 508          void CtrlReqGetConfiguration()
 509          {
 510   1        BYTE Token = pSotaUsbRequest->Token;
 511   1            
 512   1        switch(Token)
 513   1        {
 514   2          case SETUP_TOKEN:
 515   2               pSotaUsbRequest->LoadInDataOk = true;
 516   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0_STL);
 517   2               break;
 518   2      
 519   2          case IN_TOKEN:
 520   2               if (pSotaUsbRequest->LoadInDataOk)
 521   2               {
 522   3                 CSRWrite(USB_BASE + EP0_TXCNT, 1);
 523   3                 CSRWrite(USB_BASE + EP0_TXDATA, ConfigSetValue);
 524   3                 CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0);    
 525   3                 pSotaUsbRequest->LoadInDataOk = false;
 526   3               }
 527   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0);             
 528   2               break;   
 529   2      
 530   2          case IN_OK_TOKEN:
 531   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0);    
 532   2               CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0_STL); 
 533   2               break;         
 534   2      
 535   2          case OUT_TOKEN:
 536   2          default:
 537   2               // Ctrl Read End
 538   2               pSotaUsbRequest->InProgress = false;
 539   2               break;          
 540   2        }  
 541   1      }  
 542          
 543          //----------------------------------------------------------------------------
 544          // Set Configuration Request 
 545          //----------------------------------------------------------------------------
 546          void CtrlReqSetConfiguration()
 547          {
 548   1        BYTE Token = pSotaUsbRequest->Token;
 549   1          
 550   1        switch(Token)
C51 COMPILER V7.02b   CTRLREQUEST                                                          02/01/2007 10:35:43 PAGE 10  

 551   1        {
 552   2          case SETUP_TOKEN:
 553   2               {
 554   3                 PUSB_REQUEST pReq = &(pSotaUsbRequest->Request);
 555   3                 BYTE Value = ((TDataCast *)&(pReq->wValue))->ucByte[0];
 556   3                 
 557   3                 ConfigSetValue = Value; 
 558   3                 CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0_STL);    
 559   3                 break;
 560   3               }  
 561   2               
 562   2          case IN_TOKEN:
 563   2               CtrlClearHaltFeature();
 564   2               CSRWrite(USB_BASE + EP0_TXCNT, 0);
 565   2               CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0);    
 566   2               break;
 567   2              
 568   2          case IN_OK_TOKEN:
 569   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0);    
 570   2               CSRWrite(USB_BASE + EP0_TXCSR, EN_TX0_STL); 
 571   2      
 572   2          case OUT_TOKEN:
 573   2          default:
 574   2               pSotaUsbRequest->InProgress = false;
 575   2               break;          
 576   2        }  
 577   1      }
 578          
 579          //----------------------------------------------------------------------------
 580          // Get Interface Request 
 581          //----------------------------------------------------------------------------
 582          void CtrlReqGetInterface()
 583          {
 584   1        BYTE Token = pSotaUsbRequest->Token;
 585   1            
 586   1        switch(Token)
 587   1        {
 588   2          case SETUP_TOKEN:
 589   2               pSotaUsbRequest->LoadInDataOk = true;
 590   2               CSRWrite(USB_BASE + EP0_RXCSR, EN_RX0_STL);
 591   2               break;
 592   2      
 593   2          case IN_TOKEN:
 594   2               if (pSotaUsbRequest->LoadInDataOk)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九**精品视频免费播放| 亚洲激情图片qvod| 国产精品中文字幕欧美| 日韩一级完整毛片| 国产在线播精品第三| 久久新电视剧免费观看| 国产不卡视频一区| 中文字幕亚洲一区二区av在线| av电影一区二区| 亚洲一级二级在线| 日韩视频国产视频| 欧美一二区视频| 国产一区二区免费在线| 久久欧美一区二区| 成人高清伦理免费影院在线观看| 丝袜亚洲另类欧美| 国模套图日韩精品一区二区| 国产欧美日韩另类视频免费观看| 白白色 亚洲乱淫| 亚洲男人天堂av网| 欧美日韩精品一区二区三区| 日韩电影免费在线看| 精品国产乱码久久久久久久| 风间由美中文字幕在线看视频国产欧美| 国产亚洲福利社区一区| 91黄视频在线| 毛片不卡一区二区| 国产精品理伦片| 欧美日韩国产高清一区二区| 精品一区二区免费| 综合自拍亚洲综合图不卡区| 欧美电影在哪看比较好| 国产美女娇喘av呻吟久久| 中文字幕一区二区三区色视频 | 久久亚洲精精品中文字幕早川悠里| 久久国产精品无码网站| 成人欧美一区二区三区视频网页| 精品污污网站免费看| 国产一区二区三区精品欧美日韩一区二区三区| 欧美国产精品一区二区三区| 色狠狠一区二区| 高清成人在线观看| 亚洲第一av色| 久久在线免费观看| 在线电影一区二区三区| 色综合久久综合| 国产成人亚洲综合色影视 | 免费在线观看成人| 中文字幕一区二区三区在线观看| 日韩一区二区免费视频| 色香蕉成人二区免费| 国产米奇在线777精品观看| 亚洲高清一区二区三区| 国产精品美女久久福利网站| 精品国产一区二区三区不卡| 在线观看免费成人| 成+人+亚洲+综合天堂| 激情六月婷婷综合| 天天影视色香欲综合网老头| 亚洲欧美日韩一区二区三区在线观看 | 精品少妇一区二区三区在线视频| 在线免费观看不卡av| 成人性生交大合| 国产麻豆精品theporn| 日本欧美加勒比视频| 亚洲欧美日韩国产另类专区 | 国产精品久久一级| 久久综合色之久久综合| 日韩网站在线看片你懂的| 91在线免费播放| www.激情成人| 99久久精品国产毛片| 成人黄色电影在线| 成人av在线资源网站| 成人精品免费看| 国内精品伊人久久久久av一坑 | 亚洲电影在线播放| 亚洲最大成人网4388xx| 亚洲美女视频在线观看| 亚洲三级在线播放| 亚洲免费电影在线| 亚洲自拍偷拍欧美| 天天综合网天天综合色| 日韩av中文在线观看| 日韩国产精品久久久久久亚洲| 亚洲国产欧美在线| 日韩影视精彩在线| 青青草97国产精品免费观看无弹窗版| 日韩国产一二三区| 日韩精品亚洲一区二区三区免费| 日一区二区三区| 久久99深爱久久99精品| 国内精品自线一区二区三区视频| 国产一区二区三区视频在线播放| 极品尤物av久久免费看| 国产精品一级二级三级| 99热99精品| 在线观看亚洲精品视频| 欧美一二三区在线观看| 国产亚洲女人久久久久毛片| 欧美国产一区视频在线观看| 国产精品福利在线播放| 亚洲成人午夜影院| 国产在线麻豆精品观看| heyzo一本久久综合| 欧美体内she精高潮| 欧美美女直播网站| 久久国产精品无码网站| 亚洲精品视频在线观看免费| 亚洲成av人片| 美女脱光内衣内裤视频久久网站 | 久久色在线视频| 亚洲国产经典视频| 亚洲国产视频直播| 国产精品66部| 欧美亚洲一区二区在线| 日韩免费一区二区三区在线播放| 久久一区二区三区国产精品| 亚洲免费在线看| 捆绑变态av一区二区三区| 粉嫩绯色av一区二区在线观看| 在线观看国产日韩| 国产亚洲成年网址在线观看| 亚洲一区二区视频在线观看| 久久福利视频一区二区| 91一区二区在线观看| 日韩欧美国产高清| 国产精品高潮呻吟| 久久精品国产亚洲a| 91蝌蚪porny| 精品福利在线导航| 亚洲第一av色| 99精品在线免费| 日韩一区二区麻豆国产| 亚洲卡通动漫在线| 国产在线播放一区三区四| 欧美日韩高清一区二区三区| 国产精品欧美极品| 美女爽到高潮91| 欧美日韩在线观看一区二区 | 成人av网址在线| 欧美精品成人一区二区三区四区| 欧美经典三级视频一区二区三区| 视频一区视频二区在线观看| 99国产欧美另类久久久精品| 欧美精品一区二区三区在线| 天涯成人国产亚洲精品一区av| 91欧美一区二区| 国产色产综合色产在线视频| 琪琪久久久久日韩精品| 91高清在线观看| 中文字幕 久热精品 视频在线| 久久精品99国产精品日本| 欧美性大战久久久久久久蜜臀| 日韩理论片网站| 成人免费高清视频| 久久精品日韩一区二区三区| 精品一区二区三区不卡| 欧美一级理论性理论a| 亚洲午夜电影网| 日本道色综合久久| 1000精品久久久久久久久| 国产精品一区二区不卡| 久久综合久久鬼色中文字| 秋霞午夜鲁丝一区二区老狼| 欧美日本在线观看| 日韩成人免费在线| 欧美日韩国产123区| 亚洲国产视频一区二区| 在线一区二区视频| 亚洲色欲色欲www| 色婷婷亚洲综合| 亚洲自拍与偷拍| 欧美精品在线视频| 日韩av成人高清| 日韩女优av电影在线观看| 蜜桃av一区二区三区电影| 日韩欧美在线观看一区二区三区| 日本网站在线观看一区二区三区| 欧美日本乱大交xxxxx| 麻豆成人久久精品二区三区小说| 69久久夜色精品国产69蝌蚪网 | 麻豆视频观看网址久久| 欧美大片在线观看一区二区| 精品一区二区免费在线观看| 国产日韩欧美精品一区| 成人午夜私人影院| 中文字幕一区二区三区四区不卡 | 久久免费午夜影院| 丰满少妇久久久久久久| 亚洲视频在线一区观看| 在线观看免费亚洲| 奇米色一区二区| 久久精品网站免费观看| av不卡在线观看| 午夜亚洲福利老司机| 欧美成人性福生活免费看| 成人91在线观看| 午夜激情综合网| 国产欧美日韩在线观看|