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

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

?? usb.lst

?? ATMEL AT89C51SND1 IDE TO USB READER
?? LST
?? 第 1 頁 / 共 4 頁
字號:
 236   1              {
C51 COMPILER V7.50   USB                                                                   11/03/2008 13:09:02 PAGE 5   

 237   2      
 238   2                      Usb_sel_ep(0);                
 239   2                      if (Usb_setup_packet_receive())
 240   2                      {
 241   3      
 242   3                              usb_do_enumeration();
 243   3                      }
 244   2              }
 245   1      }
 246          
 247          /**************************************************************************
 248          *                                                                                                         
             -                        
 249          *  Function Name:usb_do_enumeration                                                                       
             -        
 250          *                                                                                                         
             -                 
 251          *  Descriptions:                                                       
 252          *                                                                        
 253          *  Arguments:                                                           
 254          *                                                                       
 255          *  Returns: None                                                         
 256          *                                          
 257          **************************************************************************/
 258          void usb_do_enumeration (void)
 259          { 
 260   1      
 261   1              Usb_sel_ep(0x00);
 262   1              UsbCtrlCmd.bmRequestType = UEPDATX;
 263   1              UsbCtrlCmd.bRequest =  UEPDATX;
 264   1              UsbCtrlCmd.wValue = UEPDATX;
 265   1              UsbCtrlCmd.wValue |= UEPDATX<<8;
 266   1              UsbCtrlCmd.wIndex  =UEPDATX;
 267   1              UsbCtrlCmd.wIndex |=UEPDATX<<8;
 268   1              UsbCtrlCmd.wLength = UEPDATX;
 269   1              UsbCtrlCmd.wLength |= UEPDATX<<8;
 270   1      
 271   1      #if 0
                      printf("UsbCtrlCmd.bmRequestType = %x\n",UsbCtrlCmd.bmRequestType);
                      printf("UsbCtrlCmd.bRequest=%x\n",UsbCtrlCmd.bRequest);
                      printf("UsbCtrlCmd.wValue=%x\n",UsbCtrlCmd.wValue);
                      printf("UsbCtrlCmd.wIndex=%x\n",UsbCtrlCmd.wIndex);
                      printf("UsbCtrlCmd.wLength=%x\n",UsbCtrlCmd.wLength);
              #endif
 278   1      
 279   1              if((UsbCtrlCmd.bmRequestType&0x20) == 0x00){
 280   2      
 281   2                      usb_standard_request();
 282   2      
 283   2              }
 284   1              else if((UsbCtrlCmd.bmRequestType&0x20) == 0x20){ 
 285   2                      usb_class_request();
 286   2      
 287   2              }
 288   1      }
 289          
 290          
 291          
 292          /**************************************************************************
 293          *                                                                                                         
             -                        
 294          *  Function Name:usb_standard_request                                                                     
C51 COMPILER V7.50   USB                                                                   11/03/2008 13:09:02 PAGE 6   

             -          
 295          *                                                                                                         
             -                 
 296          *  Descriptions:                                                       
 297          *                                                                        
 298          *  Arguments:                                                           
 299          *                                                                       
 300          *  Returns: None                                                         
 301          *                                          
 302          **************************************************************************/
 303          void usb_standard_request(void)
 304          { 
 305   1      
 306   1              switch (UsbCtrlCmd.bRequest)                 
 307   1              {
 308   2      
 309   2              case USB_GET_DESCRIPTOR:
 310   2      
 311   2                      usb_GetDescriptor();
 312   2                      break;
 313   2      
 314   2              case USB_GET_CONFIGURATION:
 315   2      
 316   2                      usb_get_configuration();
 317   2                      break;
 318   2      
 319   2              case USB_SET_ADDRESS:
 320   2                      usb_set_address();
 321   2                      break;
 322   2      
 323   2              case USB_SET_CONFIGURATION:
 324   2                      usb_set_configuration();
 325   2                      break;
 326   2      
 327   2              case USB_CLEAR_FEATURE:
 328   2                      usb_clear_feature();
 329   2                      break;
 330   2      
 331   2              case USB_SET_FEATURE:
 332   2                      usb_set_feature();
 333   2                      break;
 334   2      
 335   2              case USB_GET_STATUS:
 336   2                      usb_get_status();
 337   2                      break;
 338   2      
 339   2      
 340   2              default:          
 341   2                      break;
 342   2              }
 343   1      
 344   1      }
 345          
 346          /**************************************************************************
 347          *                                                                                                         
             -                        
 348          *  Function Name:usb_class_request                                                                        
             -       
 349          *                                                                                                         
             -                 
 350          *  Descriptions:                                                       
 351          *                                                                        
C51 COMPILER V7.50   USB                                                                   11/03/2008 13:09:02 PAGE 7   

 352          *  Arguments:                                                           
 353          *                                                                       
 354          *  Returns: None                                                         
 355          *                                          
 356          **************************************************************************/
 357          void usb_class_request(void)
 358          { 
 359   1      
 360   1      
 361   1              switch (UsbCtrlCmd.bRequest)                 
 362   1              {
 363   2      
 364   2              case HID_SET_IDLE:
 365   2                      hid_set_idle();
 366   2                      break;
 367   2              case USB_GET_MAX_LUN:
 368   2                      printf("USB_GET_MAX_LUN\n");
 369   2                      usb_get_max_lun();
 370   2                      break;
 371   2              default:
 372   2                      break;
 373   2              }
 374   1      
 375   1      
 376   1      }
 377          /**************************************************************************
 378          *                                                                                                         
             -                        
 379          *  Function Name:usb_GetDescriptor                                                                        
             -       
 380          *                                                                                                         
             -                 
 381          *  Descriptions:                                                       
 382          *                                                                        
 383          *  Arguments:                                                           
 384          *                                                                       
 385          *  Returns: None                                                         
 386          *                                          
 387          **************************************************************************/
 388          void   usb_GetDescriptor(void){
 389   1      
 390   1              UINT8 data_to_send;
 391   1              UINT8 des_type,i;
 392   1              UINT8 desc_ptr = 0; 
 393   1              UINT8 zeroflag = 0;
 394   1              UINT8 ret;
 395   1              Usb_set_DIR_bit();                           
 396   1      
 397   1              des_type = UsbCtrlCmd.wValue>>8;/*read  wValue msb*/
 398   1              switch (des_type)
 399   1              {
 400   2              case USB_DEVICE_DESC:
 401   2                      {
 402   3      
 403   3      
 404   3                              G_pucCtrlDataPointer = (UINT8 *)USB_DeviceDescriptor;
 405   3                              data_to_send = sizeof(USB_DeviceDescriptor);
 406   3                              break;
 407   3                      }
 408   2      
 409   2              case USB_CONFIGURATION_DESC:
 410   2                      {
C51 COMPILER V7.50   USB                                                                   11/03/2008 13:09:02 PAGE 8   

 411   3      
 412   3                              G_pucCtrlDataPointer = (UINT8 *)USB_ConfigurationDescriptor;
 413   3                              data_to_send = sizeof(USB_ConfigurationDescriptor);
 414   3                              break;
 415   3                      }
 416   2      
 417   2              case USB_STRING_DESC:
 418   2                      {
 419   3      
 420   3      
 421   3                              des_type = UsbCtrlCmd.wValue & 0xff;
 422   3                              switch (des_type)
 423   3                              {
 424   4                              case USB_LANG_ID:
 425   4                                      {
 426   5      
 427   5                                              G_pucCtrlDataPointer = (UINT8 *)USB_LanguageIdString;
 428   5                                              data_to_send = sizeof(USB_LanguageIdString);     
 429   5                                              break;
 430   5                                      }
 431   4      
 432   4                              case USB_MAN_INDEX:
 433   4                                      {
 434   5      
 435   5                                              G_pucCtrlDataPointer = (UINT8 *)USB_ManufacturerString;
 436   5                                              data_to_send = sizeof(USB_ManufacturerString);            
 437   5                                              break;
 438   5                                      }
 439   4                              case USB_PROD_INDEX:
 440   4                                      {
 441   5      
 442   5                                              G_pucCtrlDataPointer = (UINT8 *)USB_ProductString;
 443   5                                              data_to_send = sizeof(USB_ProductString);                 
 444   5                                              break;
 445   5                                      }
 446   4                              case USB_SN_INDEX:
 447   4                                      {
 448   5                                              G_pucCtrlDataPointer = (UINT8 *)USB_SerialNumberString;
 449   5                                              data_to_send = sizeof(USB_SerialNumberString);
 450   5                                              break;
 451   5                                      }
 452   4                              default:
 453   4                                      {
 454   5                                              return;
 455   5                                      }
 456   4                              }
 457   3                              break;
 458   3                      }
 459   2              default:
 460   2                      {
 461   3                              return;
 462   3                      }
 463   2              }
 464   1      
 465   1      
 466   1              if (UsbCtrlCmd.wLength > data_to_send)
 467   1              {
 468   2                      if ((data_to_send % 8) == 0)
 469   2                      {
 470   3                              zeroflag = TRUE;                          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看精品一区| 成人精品亚洲人成在线| 91亚洲精品久久久蜜桃网站| 国产午夜精品在线观看| 丁香天五香天堂综合| 亚洲精品国产成人久久av盗摄| 99精品视频中文字幕| 天涯成人国产亚洲精品一区av| 欧美成人在线直播| 成人h精品动漫一区二区三区| 亚洲欧美另类图片小说| 91.xcao| 国产成人av在线影院| 亚洲一区二区三区中文字幕| 欧美xingq一区二区| 日本高清不卡在线观看| 国产在线精品国自产拍免费| 亚洲三级在线免费| 精品电影一区二区三区| 欧美性一二三区| 国产成人精品免费一区二区| 日韩黄色片在线观看| 中文字幕中文乱码欧美一区二区| 欧美一级片在线| 欧美亚洲国产bt| 色综合久久综合中文综合网| 激情伊人五月天久久综合| 丝瓜av网站精品一区二区| 艳妇臀荡乳欲伦亚洲一区| 日韩一区在线免费观看| aaa国产一区| 亚洲欧美二区三区| 亚洲日本在线看| 日本一区二区动态图| 国产欧美精品区一区二区三区| 91精品国产综合久久精品麻豆 | 日韩欧美国产一区二区三区 | 欧美三片在线视频观看| 一本大道久久a久久精品综合| 寂寞少妇一区二区三区| 自拍偷拍国产亚洲| 亚洲老司机在线| 亚洲成人你懂的| 三级久久三级久久久| 久久不见久久见免费视频1| 国产一区二区三区观看| 国产成人8x视频一区二区| eeuss影院一区二区三区| 色综合久久88色综合天天免费| 欧美天天综合网| 日韩精品在线一区二区| 综合电影一区二区三区| 亚洲成人高清在线| 国产乱码一区二区三区| 欧美自拍偷拍午夜视频| 欧美mv和日韩mv国产网站| 国产蜜臀97一区二区三区| 午夜影院久久久| 成人a区在线观看| 欧美大胆人体bbbb| 亚洲精品国产a| 波多野结衣欧美| 精品日韩欧美一区二区| 久久久91精品国产一区二区精品| 精品视频一区二区不卡| 国产精品美女视频| 久草热8精品视频在线观看| 欧美日韩激情在线| 亚洲女同一区二区| 91麻豆自制传媒国产之光| 久久久久一区二区三区四区| 免费观看一级欧美片| 日韩欧美国产一区二区三区| 亚洲最色的网站| 在线影院国内精品| 亚洲综合区在线| 欧美亚男人的天堂| 亚洲成人动漫精品| 91精品国产91热久久久做人人| 亚洲第一狼人社区| 日韩亚洲电影在线| 亚洲一二三区视频在线观看| 欧美在线观看视频在线| 秋霞影院一区二区| 久久综合视频网| 色综合久久久久综合99| 香蕉乱码成人久久天堂爱免费| 在线这里只有精品| 九九在线精品视频| 亚洲三级视频在线观看| 欧美二区三区的天堂| 久久精品国产99| 欧美电影免费观看高清完整版在线| 蜜桃一区二区三区四区| 国产精品天美传媒沈樵| 欧美日韩久久不卡| 成人在线一区二区三区| 午夜精品成人在线| 国产精品第一页第二页第三页| 欧美色综合影院| 国产在线精品一区二区三区不卡 | 日韩午夜中文字幕| 成人免费观看男女羞羞视频| 亚洲人成精品久久久久| 精品久久久久久久久久久久久久久久久| 国产精品一线二线三线| 青青草原综合久久大伊人精品 | 亚洲精品五月天| 久久青草国产手机看片福利盒子 | 91麻豆精品国产91久久久久久 | 亚洲精品水蜜桃| 国产精品久久久久久久久动漫 | 香蕉影视欧美成人| 亚洲激情一二三区| 亚洲一区二区三区四区五区中文| 久久精品网站免费观看| 久久久久9999亚洲精品| 久久毛片高清国产| 精品国产乱码久久| 久久影院视频免费| 国产三级欧美三级日产三级99| 精品久久久久久久久久久久包黑料| 欧美精品第1页| 欧美日韩国产一区| 欧美一区在线视频| 日韩精品一区二区三区在线播放| 精品少妇一区二区三区日产乱码 | 韩国视频一区二区| 免费在线观看成人| 国产精品99精品久久免费| 成人理论电影网| 欧美欧美午夜aⅴ在线观看| 欧美在线视频日韩| 国产亚洲污的网站| 亚洲嫩草精品久久| 久久国产欧美日韩精品| 成人一区在线看| 欧美一级二级三级蜜桃| 日本一区二区免费在线| 日韩精品亚洲专区| bt7086福利一区国产| 精品日韩一区二区三区免费视频| 中文字幕一区二区在线播放| 天天影视网天天综合色在线播放| 国产在线视频不卡二| 欧美无人高清视频在线观看| 久久九九久精品国产免费直播| 一区av在线播放| 99国产一区二区三精品乱码| 精品国产乱码久久久久久老虎| 亚洲欧美国产高清| 暴力调教一区二区三区| 精品国产免费久久| 韩国中文字幕2020精品| 欧美一区二区在线看| 午夜精品一区二区三区免费视频| 99国产一区二区三精品乱码| 一区在线中文字幕| 国产乱国产乱300精品| 欧美xxxxx牲另类人与| 精品一区二区久久久| 久久综合九色综合97_久久久| 久久激情综合网| 国产精品毛片无遮挡高清| 成人精品小蝌蚪| 亚洲一区在线视频| 正在播放亚洲一区| 国内外精品视频| 亚洲免费av网站| 成人久久视频在线观看| 777午夜精品视频在线播放| 午夜精品久久久久久久久| 这里只有精品电影| 成人综合婷婷国产精品久久| 亚洲精品国产视频| 日韩欧美国产综合| 国产99精品在线观看| 亚洲成人免费在线观看| 日韩欧美一区二区免费| 色综合欧美在线| 国内精品国产成人| 午夜精品成人在线视频| 国产女人18毛片水真多成人如厕| 在线影院国内精品| 狠狠色丁香久久婷婷综合_中| 亚洲精品日韩专区silk| 久久久亚洲综合| 日韩一二三四区| 欧美午夜精品久久久久久孕妇| 精品一区二区久久| 亚洲成在人线免费| 椎名由奈av一区二区三区| 日韩免费视频线观看| 欧美日韩免费观看一区三区| 成人app软件下载大全免费| 久久精品国产99久久6| 亚洲成人免费视| 性做久久久久久免费观看| 一区二区三区免费在线观看| 欧美激情在线看|