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

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

?? f34x_usb_standard_requests.lst

?? C8051F340的USB應(yīng)用例程
?? LST
?? 第 1 頁 / 共 3 頁
字號:
 404   3                  Force_Stall();
 405   3               }
 406   2               break;
 407   2      
 408   2            default:
 409   2               Force_Stall();                         // Send Stall if unsupported request
 410   2               break;
 411   2         }
 412   1      
 413   1         if (Setup.wValue.c[MSB] == DSC_DEVICE ||     // Verify that the requested descriptor is
 414   1         Setup.wValue.c[MSB] == DSC_CONFIG     ||     // valid
 415   1         Setup.wValue.c[MSB] == DSC_STRING     ||
 416   1         Setup.wValue.c[MSB] == DSC_INTERFACE  ||
 417   1         Setup.wValue.c[MSB] == DSC_ENDPOINT)
 418   1         {
 419   2            if ((Setup.wLength.c[LSB] < DataSize) &&
 420   2            (Setup.wLength.c[MSB] == 0))
 421   2            {
 422   3               DataSize = Setup.wLength.i;       // Send only requested amount of data
 423   3            }
 424   2         }
 425   1         if (Ep_Status[0] != EP_STALL)                // Make sure endpoint not in stall mode
 426   1         {
 427   2           POLL_WRITE_BYTE(E0CSR, rbSOPRDY);          // Service Setup Packet
C51 COMPILER V8.02   F34X_USB_STANDARD_REQUESTS                                            04/28/2008 13:24:09 PAGE 8   

 428   2           Ep_Status[0] = EP_TX;                      // Put endpoint in transmit mode
 429   2           DataSent = 0;                              // Reset Data Sent counter
 430   2         }
 431   1      }
 432          
 433          //-----------------------------------------------------------------------------
 434          // Get_Configuration
 435          //-----------------------------------------------------------------------------
 436          //
 437          // Return Value : None
 438          // Parameters   : None
 439          //
 440          // This routine returns current configuration value
 441          //
 442          //-----------------------------------------------------------------------------
 443          
 444          void Get_Configuration(void)                   
 445          {
 446   1         if ((Setup.bmRequestType != OUT_DEVICE)    ||// This request must be directed to the device
 447   1         Setup.wValue.c[MSB]  || Setup.wValue.c[LSB]||// with value word set to zero
 448   1         Setup.wIndex.c[MSB]  || Setup.wIndex.c[LSB]||// and index set to zero
 449   1         Setup.wLength.c[MSB] || (Setup.wLength.c[LSB] != 1))// and setup length set to one
 450   1         {
 451   2            Force_Stall();                            // Otherwise send a stall to host
 452   2         }
 453   1      
 454   1         else
 455   1         {
 456   2            if (USB_State == DEV_CONFIGURED)          // If the device is configured, then return value 0x01
 457   2            {                                         // since this software only supports one configuration
 458   3               DataPtr = (BYTE*)&ONES_PACKET;
 459   3               DataSize = 1;
 460   3            }
 461   2            if (USB_State == DEV_ADDRESS)             // If the device is in address state, it is not
 462   2            {                                         // configured, so return 0x00
 463   3               DataPtr = (BYTE*)&ZERO_PACKET;
 464   3               DataSize = 1;
 465   3            }
 466   2         }
 467   1         if (Ep_Status[0] != EP_STALL)
 468   1         {
 469   2            POLL_WRITE_BYTE(E0CSR, rbSOPRDY);         // Set Serviced Out Packet bit
 470   2            Ep_Status[0] = EP_TX;                     // Put endpoint into transmit mode
 471   2            DataSent = 0;                             // Reset Data Sent counter to zero
 472   2         }
 473   1      }
 474          
 475          //-----------------------------------------------------------------------------
 476          // Set_Configuration
 477          //-----------------------------------------------------------------------------
 478          //
 479          // Return Value : None
 480          // Parameters   : None
 481          //
 482          // This routine allows host to change current device configuration value
 483          //
 484          //-----------------------------------------------------------------------------
 485          
 486          void Set_Configuration(void)                   
 487          {                                               
 488   1      
 489   1         if ((USB_State == DEV_DEFAULT)             ||// Device must be addressed before configured
C51 COMPILER V8.02   F34X_USB_STANDARD_REQUESTS                                            04/28/2008 13:24:09 PAGE 9   

 490   1         (Setup.bmRequestType != IN_DEVICE)         ||// and request recipient must be the device
 491   1         Setup.wIndex.c[MSB]  || Setup.wIndex.c[LSB]||// the index and length words must be zero
 492   1         Setup.wLength.c[MSB] || Setup.wLength.c[LSB] ||
 493   1         Setup.wValue.c[MSB]  || (Setup.wValue.c[LSB] > 1))// This software only supports config = 0,1
 494   1         {
 495   2            Force_Stall();                            // Send stall if setup data is invalid
 496   2         }
 497   1      
 498   1         else
 499   1         {
 500   2            if (Setup.wValue.c[LSB] > 0)              // Any positive configuration request
 501   2            {                                         // results in configuration being set to 1
 502   3               USB_State = DEV_CONFIGURED;
 503   3               Ep_Status[1] = EP_IDLE;                // Set endpoint status to idle (enabled)
 504   3               Ep_Status[2] = EP_IDLE;
 505   3               POLL_WRITE_BYTE(INDEX, 1);             // Change index to endpoint 1
 506   3               POLL_WRITE_BYTE(EINCSR2, rbInDIRSEL);  // Set DIRSEL to indicate endpoint 1 is IN
 507   3               Handle_In1();                          // Put first data packet on fifo
 508   3               POLL_WRITE_BYTE(INDEX, 0);             // Set index back to endpoint 0
 509   3            }
 510   2            else
 511   2            {
 512   3               USB_State = DEV_ADDRESS;               // Unconfigures device by setting state to
 513   3               Ep_Status[1] = EP_HALT;                // address, and changing endpoint 1 and 2
 514   3               Ep_Status[2] = EP_HALT;                // status to halt
 515   3            }
 516   2         }
 517   1         if (Ep_Status[0] != EP_STALL)
 518   1         {
 519   2            // Indicate setup packet has been serviced
 520   2            POLL_WRITE_BYTE(E0CSR, rbSOPRDY);
 521   2         }
 522   1      }
 523          
 524          //-----------------------------------------------------------------------------
 525          // Get_Interface
 526          //-----------------------------------------------------------------------------
 527          //
 528          // Return Value : None
 529          // Parameters   : None
 530          //
 531          // This routine returns 0x00, since only one interface is supported by 
 532          // this firmware
 533          //
 534          //-----------------------------------------------------------------------------
 535          
 536          void Get_Interface(void)                        
 537          {                                              
 538   1      
 539   1         if ((USB_State != DEV_CONFIGURED)      ||    // If device is not configured
 540   1         (Setup.bmRequestType != OUT_INTERFACE) ||    // or recipient is not an interface
 541   1         Setup.wValue.c[MSB]  ||Setup.wValue.c[LSB] ||// or non-zero value or index fields
 542   1         Setup.wIndex.c[MSB]  ||Setup.wIndex.c[LSB] ||// or data length not equal to one
 543   1         Setup.wLength.c[MSB] ||(Setup.wLength.c[LSB] != 1))
 544   1         {
 545   2            Force_Stall();                            // Then return stall due to invalid request
 546   2         }
 547   1      
 548   1         else
 549   1         {
 550   2            DataPtr = (BYTE*)&ZERO_PACKET;            // Otherwise, return 0x00 to host
 551   2            DataSize = 1;
C51 COMPILER V8.02   F34X_USB_STANDARD_REQUESTS                                            04/28/2008 13:24:09 PAGE 10  

 552   2         }
 553   1         if (Ep_Status[0] != EP_STALL)
 554   1         {
 555   2            POLL_WRITE_BYTE(E0CSR, rbSOPRDY);         // Set Serviced Setup packet, put endpoint in transmit
 556   2            Ep_Status[0] = EP_TX;                     // mode and reset Data sent counter
 557   2            DataSent = 0;
 558   2         }
 559   1      }
 560          
 561          //-----------------------------------------------------------------------------
 562          // Set_Interface
 563          //-----------------------------------------------------------------------------
 564          //
 565          // Return Value : None
 566          // Parameters   : None
 567          //
 568          // This routine allows host to change current device configuration value
 569          //
 570          //-----------------------------------------------------------------------------
 571          
 572          void Set_Interface(void)
 573          {
 574   1         // Make sure request is directed at interface and all other packet values 
 575   1         // are set to zero
 576   1      
 577   1         if ((Setup.bmRequestType != IN_INTERFACE)  ||
 578   1         Setup.wLength.c[MSB] ||Setup.wLength.c[LSB]|| 
 579   1         Setup.wValue.c[MSB]  ||Setup.wValue.c[LSB] ||
 580   1         Setup.wIndex.c[MSB]  ||Setup.wIndex.c[LSB])
 581   1         {
 582   2            // Otherwise send a stall to host
 583   2            Force_Stall();                            
 584   2         }
 585   1         if (Ep_Status[0] != EP_STALL)
 586   1         {
 587   2            // Indicate setup packet has been serviced
 588   2            POLL_WRITE_BYTE(E0CSR, rbSOPRDY);                                               
 589   2         }
 590   1      }
 591          
 592          //-----------------------------------------------------------------------------
 593          // End Of File
 594          //-----------------------------------------------------------------------------


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1134    ----
   CONSTANT SIZE    =      4    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线高清| 丁香婷婷综合网| 国产剧情一区二区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 日韩精品久久久久久| 国产精品18久久久久久久久久久久| 一本大道久久精品懂色aⅴ| 日韩欧美色电影| 一级中文字幕一区二区| 国产成人a级片| 欧美精品一区二| 视频一区欧美日韩| 色狠狠av一区二区三区| 中文字幕乱码亚洲精品一区| 免费成人在线视频观看| 欧美日韩一区精品| 亚洲美女免费视频| 91捆绑美女网站| 国产精品少妇自拍| 国产成人自拍网| 久久免费看少妇高潮| 久久66热re国产| 欧美videossexotv100| 日韩不卡一区二区| 欧美精品一卡两卡| 亚洲6080在线| 欧美三级一区二区| 亚洲亚洲精品在线观看| 在线观看免费成人| 亚洲第一激情av| 欧美日本国产视频| 天堂av在线一区| 91精品国产综合久久香蕉的特点| 亚洲第一主播视频| 8v天堂国产在线一区二区| 午夜精品福利一区二区三区av| 色综合色狠狠天天综合色| 亚洲精品日日夜夜| 欧日韩精品视频| 亚洲第一久久影院| 日韩欧美在线123| 精品一区二区国语对白| 久久久综合九色合综国产精品| 国产精品影音先锋| 欧美韩国日本一区| 色天使色偷偷av一区二区| 亚洲在线中文字幕| 777亚洲妇女| 激情久久久久久久久久久久久久久久| 精品国产乱码久久久久久久久| 国产美女一区二区| 18成人在线观看| 欧美无砖砖区免费| 日本欧美一区二区三区乱码| 精品区一区二区| 国产a久久麻豆| 一区二区日韩av| 日韩你懂的在线观看| 国产美女久久久久| 亚洲乱码国产乱码精品精的特点 | 日韩精品一区二区三区中文不卡 | 亚洲成av人影院| 精品日产卡一卡二卡麻豆| 成人动漫一区二区三区| 亚洲综合丝袜美腿| 精品久久久久久无| 色综合久久久久久久| 日韩电影在线观看网站| 国产片一区二区| 欧美日韩国产片| 国产精品一区二区三区四区| 亚洲黄色免费电影| 精品国产乱码久久久久久1区2区| 99久久久精品| 国产一区二区三区免费| 亚洲夂夂婷婷色拍ww47| 久久久五月婷婷| 欧美日韩中文字幕一区| 国产成a人亚洲精| 视频一区免费在线观看| 国产精品美女久久久久久久久久久| 欧美精品tushy高清| 成人av资源站| 奇米色一区二区| 一区二区成人在线| 久久综合久久99| 91精品中文字幕一区二区三区| 91香蕉视频mp4| 粉嫩久久99精品久久久久久夜| 麻豆国产精品一区二区三区| 亚洲精品视频在线看| 国产精品乱人伦| 久久久久久久久一| 在线播放一区二区三区| 一本大道久久a久久综合| 国产激情偷乱视频一区二区三区| 日本va欧美va瓶| 午夜亚洲国产au精品一区二区| 成人欧美一区二区三区黑人麻豆| 久久色在线观看| 日韩欧美亚洲国产精品字幕久久久| 欧美亚洲综合在线| 一本一道综合狠狠老| 不卡一区中文字幕| 成人爽a毛片一区二区免费| 久88久久88久久久| 麻豆精品一区二区三区| 午夜电影网亚洲视频| 亚洲第一狼人社区| 亚洲成人www| 亚洲va欧美va人人爽午夜| 亚洲免费三区一区二区| 亚洲色图视频网| 亚洲图片另类小说| 亚洲女女做受ⅹxx高潮| 亚洲欧美国产毛片在线| 亚洲男人的天堂网| 亚洲亚洲人成综合网络| 亚洲成人自拍偷拍| 亚洲123区在线观看| 日日摸夜夜添夜夜添国产精品| 亚洲成人av电影| 日本大胆欧美人术艺术动态| 蜜桃av噜噜一区| 久久精品国产精品青草| 国产一区二区女| 成人18视频日本| 欧美在线|欧美| 8x8x8国产精品| 久久综合色一综合色88| 国产精品久久久久久久久果冻传媒 | 91精选在线观看| 欧美成人一区二区| 国产欧美一区二区在线观看| 国产精品看片你懂得| 亚洲图片欧美一区| 九九视频精品免费| 成人美女视频在线观看18| 91免费在线播放| 56国语精品自产拍在线观看| 欧美xfplay| 中文字幕字幕中文在线中不卡视频| 亚洲女与黑人做爰| 老鸭窝一区二区久久精品| 国产福利一区二区三区视频在线 | 欧美丰满美乳xxx高潮www| 精品欧美乱码久久久久久1区2区| 国产亚洲一区二区三区四区 | 中文子幕无线码一区tr| 亚洲小少妇裸体bbw| 国产美女精品一区二区三区| 91在线观看美女| 日韩午夜电影在线观看| 欧美激情一区不卡| 视频一区二区三区入口| 成人爽a毛片一区二区免费| 欧美日韩国产精品自在自线| 亚洲国产精品传媒在线观看| 午夜精品久久久久久久99樱桃| 国产·精品毛片| 日韩欧美一级二级| 亚洲日本在线看| 国产主播一区二区| 欧美日韩一区二区欧美激情| 久久综合久久99| 亚洲一区二区三区爽爽爽爽爽 | 国产欧美一区二区三区鸳鸯浴 | 亚洲一级二级三级在线免费观看| 久久99国产精品久久| 欧美在线小视频| 国产视频视频一区| 日韩av一区二区三区四区| www.久久久久久久久| 精品国产乱码久久久久久久久 | 亚洲电影在线免费观看| 国产suv精品一区二区6| 欧美电视剧在线观看完整版| 亚洲专区一二三| 99在线精品一区二区三区| 精品少妇一区二区三区免费观看| 亚洲国产综合色| 欧洲视频一区二区| 中文字幕av资源一区| 国产乱码精品一区二区三区忘忧草| 欧美一区二区在线免费观看| 亚洲一区二区偷拍精品| 91在线精品一区二区三区| 国产精品视频一二| 国产麻豆成人精品| 2欧美一区二区三区在线观看视频| 亚洲成国产人片在线观看| 一本色道久久综合亚洲aⅴ蜜桃 | 天天操天天干天天综合网| 91国模大尺度私拍在线视频| 国产精品乱人伦| 成人久久久精品乱码一区二区三区| 欧美变态口味重另类| 国产一区二区在线影院| 精品国产91亚洲一区二区三区婷婷| 日本成人在线网站|