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

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

?? usb_drv.lst

?? 串口小程序
?? LST
?? 第 1 頁 / 共 3 頁
字號:
 274   2            break;
 275   2          case GET_MAX_LUN:
 276   2            usb_mass_storage_get_lun();
 277   2            break;
 278   2          case MASS_STORAGE_RESET:
 279   2            usb_mass_storage_reset();
 280   2            break;
 281   2          default:
 282   2            Usb_clear_RXSETUP();
 283   2            Usb_set_STALLRQ();
 284   2            while (!Usb_STALL_sent());
 285   2            Usb_clear_STALLRQ();
 286   2            Usb_clear_STALLED();
 287   2            break;
 288   2        }
 289   1      }
 290          
 291          
 292          /*F**************************************************************************
 293          * NAME: usb_set_address
 294          *----------------------------------------------------------------------------
 295          * PARAMS:
 296          *
 297          * return:
 298          *----------------------------------------------------------------------------
 299          * PURPOSE: 
 300          * This function manages the SET_ADDRESS request. The new address is stored
 301          * in the USBADDR register
 302          *----------------------------------------------------------------------------
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 6   

 303          * EXAMPLE:
 304          *----------------------------------------------------------------------------
 305          * NOTE:
 306          *----------------------------------------------------------------------------
 307          * REQUIREMENTS: 
 308          *****************************************************************************/
 309          void usb_set_address (void)
 310          {
 311   1      Byte add;
 312   1      
 313   1        Usb_clear_DIR();
 314   1        add = Usb_read_byte();                    /* store the LSB of wValue = address */
 315   1        UEPRST = 0x01 ;
 316   1        UEPRST = 0x00 ;
 317   1        Usb_clear_RXSETUP();
 318   1        Usb_set_TXRDY();                          /* send a ZLP for STATUS phase */
 319   1        Usb_set_FADDEN();
 320   1        while (!(Usb_tx_complete()));
 321   1        Usb_clear_TXCMPL();
 322   1        Usb_configure_address(add);
 323   1      }
 324          
 325          
 326          /*F**************************************************************************
 327          * NAME: usb_set_configuration
 328          *----------------------------------------------------------------------------
 329          * PARAMS:
 330          *
 331          * return:
 332          *----------------------------------------------------------------------------
 333          * PURPOSE: 
 334          * This function manages the SET_CONFIGURATION request.
 335          *----------------------------------------------------------------------------
 336          * EXAMPLE:
 337          *----------------------------------------------------------------------------
 338          * NOTE:
 339          *----------------------------------------------------------------------------
 340          * REQUIREMENTS: 
 341          *****************************************************************************/
 342          void usb_set_configuration (void)
 343          {
 344   1      Uchar configuration_number;
 345   1      
 346   1        configuration_number = Usb_read_byte();
 347   1        Usb_clear_DIR();
 348   1        Usb_clear_RXSETUP();
 349   1        Usb_set_TXRDY();                          /* send a ZLP for STATUS phase */
 350   1        if (configuration_number == 0)
 351   1        {
 352   2          Usb_clear_CONFG();
 353   2        }
 354   1        else
 355   1        {
 356   2          Usb_set_CONFG();
 357   2        }
 358   1        while (!Usb_tx_complete());
 359   1        Usb_clear_TXCMPL();
 360   1        Usb_select_ep(EP_IN);                     /* endpoints configuration */
 361   1        UEPCONX = BULK_IN ;
 362   1        Usb_select_ep(EP_OUT);
 363   1        UEPCONX = BULK_OUT;
 364   1      }
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 7   

 365          
 366          
 367          /*F**************************************************************************
 368          * NAME: usb_get_descriptor
 369          *----------------------------------------------------------------------------
 370          * PARAMS:
 371          *
 372          * return:
 373          *----------------------------------------------------------------------------
 374          * PURPOSE: 
 375          * This function manages the GET_DESCRIPTOR request.
 376          *----------------------------------------------------------------------------
 377          * EXAMPLE:
 378          *----------------------------------------------------------------------------
 379          * NOTE:
 380          *----------------------------------------------------------------------------
 381          * REQUIREMENTS: 
 382          *****************************************************************************/
 383          void usb_get_descriptor (void)
 384          {
 385   1      Byte    data_to_transfer;
 386   1      Uint16  wLength;
 387   1      Byte    descriptor_type;
 388   1      Byte    string_type;
 389   1      
 390   1        Usb_set_DIR();                            /* set out on EP0 */
 391   1        zlp = FALSE;                              /* no zero length packet */
 392   1      
 393   1        string_type = Usb_read_byte();            /* read LSB of wValue */
 394   1        descriptor_type = Usb_read_byte();        /* read MSB of wValue */
 395   1        switch (descriptor_type)
 396   1        {
 397   2          case DEVICE:
 398   2          {
 399   3            data_to_transfer = sizeof (usb_device_descriptor);
 400   3            pbuffer = &(usb_device_descriptor.bLength);
 401   3            break;
 402   3          }
 403   2      
 404   2          case CONFIGURATION:
 405   2          {
 406   3            data_to_transfer = sizeof (usb_configuration);
 407   3            pbuffer = &(usb_configuration.cfg.bLength);
 408   3            break;
 409   3          }
 410   2      
 411   2          case STRING:
 412   2          {
 413   3            switch (string_type)
 414   3            {
 415   4              case LANG_ID:
 416   4              {
 417   5                data_to_transfer = sizeof (usb_language);
 418   5                pbuffer = &(usb_language.bLength);
 419   5                break;
 420   5              }
 421   4              case MAN_INDEX:
 422   4              {
 423   5                data_to_transfer = sizeof (usb_manufacturer);
 424   5                pbuffer = &(usb_manufacturer.bLength);
 425   5                break;
 426   5              }
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 8   

 427   4              case PROD_INDEX:
 428   4              {
 429   5                data_to_transfer = sizeof (usb_product);
 430   5                pbuffer = &(usb_product.bLength);
 431   5                break;
 432   5              }
 433   4              case SN_INDEX:
 434   4              {
 435   5                data_to_transfer = sizeof (usb_serial_number);
 436   5                pbuffer = &(usb_serial_number.bLength);
 437   5                break;
 438   5              }
 439   4              default:
 440   4              {
 441   5                Usb_clear_RXSETUP();
 442   5                while (!Usb_setup_received())
 443   5                {
 444   6                  Usb_set_STALLRQ();              /* send stall */
 445   6                  while ((!(Usb_STALL_sent())) && (Usb_setup_received()));
 446   6                  Usb_clear_STALLED();
 447   6                  Usb_clear_STALLRQ();
 448   6                }
 449   5                Usb_clear_DIR();                  /* set in on EP0 */
 450   5                return;
 451   5              }
 452   4            }
 453   3            break;
 454   3          }
 455   2      
 456   2          default:
 457   2          {
 458   3            Usb_clear_RXSETUP();
 459   3            while (!Usb_setup_received())
 460   3            {
 461   4              Usb_set_STALLRQ();                  /* send stall */
 462   4              while ((!(Usb_STALL_sent())) && (Usb_setup_received()));
 463   4              Usb_clear_STALLED();
 464   4              Usb_clear_STALLRQ();
 465   4            }
 466   3            Usb_clear_DIR();                      /* set in on EP0 */
 467   3            return;
 468   3          }
 469   2        }
 470   1      
 471   1        ACC = Usb_read_byte();                    /* don't care of wIndex field */
 472   1        ACC = Usb_read_byte();
 473   1        ((Byte*)&wLength)[1] = Usb_read_byte();   /* read wLength */
 474   1        ((Byte*)&wLength)[0] = Usb_read_byte();
 475   1        if (wLength > data_to_transfer)
 476   1        {
 477   2          if ((data_to_transfer % EP_CONTROL_LENGTH) == 0)
 478   2          {
 479   3            zlp = TRUE;                           /* send a zero length packet */
 480   3          }
 481   2          else
 482   2          {
 483   3            zlp = FALSE;                          /* no need of zero length packet */
 484   3          }
 485   2        }
 486   1        else
 487   1        {
 488   2          data_to_transfer = (Byte)wLength;       /* send only requested number of data */
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 9   

 489   2        }
 490   1        Usb_clear_RXSETUP() ;                     /* clear the receive setup flag */
 491   1      
 492   1        while (data_to_transfer > EP_CONTROL_LENGTH)
 493   1        {
 494   2          pbuffer = send_ep0_packet(pbuffer, EP_CONTROL_LENGTH);
 495   2          data_to_transfer -= EP_CONTROL_LENGTH;
 496   2          while ((!(Usb_rx_complete())) && (!(Usb_tx_complete())));
 497   2          if ((Usb_rx_complete()))                /* if no cancel from USB Host */
 498   2          {
 499   3            Usb_clear_RXOUT();
 500   3            return;
 501   3          }
 502   2          if (Usb_tx_complete())
 503   2          {
 504   3            Usb_clear_TXCMPL();
 505   3          }
 506   2        }
 507   1        /* send last data packet */
 508   1        pbuffer = send_ep0_packet(pbuffer, data_to_transfer);
 509   1        data_to_transfer = 0;
 510   1        while ((!(Usb_rx_complete())) && (!(Usb_tx_complete())));
 511   1        if ((Usb_rx_complete()))                  /* if no cancel from USB Host */
 512   1        {
 513   2          Usb_clear_RXOUT();
 514   2          return;
 515   2        }
 516   1        if (Usb_tx_complete())
 517   1        {
 518   2          Usb_clear_TXCMPL();
 519   2        }
 520   1        if (zlp == TRUE)
 521   1        {
 522   2          send_ep0_packet(pbuffer, 0);
 523   2          while ((!(Usb_rx_complete())) && (!(Usb_tx_complete())));
 524   2          if ((Usb_rx_complete()))              /* if no cancel from USB Host */
 525   2          {
 526   3            Usb_clear_RXOUT();
 527   3            return;
 528   3          }
 529   2          if (Usb_tx_complete())
 530   2          {
 531   3            Usb_clear_TXCMPL();
 532   3          }
 533   2        }
 534   1        while ((!(Usb_rx_complete())) && (!(Usb_setup_received())));
 535   1        if (Usb_setup_received())
 536   1        {
 537   2          return;
 538   2        }
 539   1      
 540   1        if (Usb_rx_complete())
 541   1        {
 542   2          Usb_clear_DIR();                        /* set in on EP0 */
 543   2          Usb_clear_RXOUT();
 544   2        }
 545   1      }
 546          
 547          
 548          /*F**************************************************************************
 549          * NAME: usb_get_configuration
 550          *----------------------------------------------------------------------------
C51 COMPILER V7.02a   USB_DRV                                                              09/13/2007 11:53:01 PAGE 10  

 551          * PARAMS:
 552          *
 553          * return:
 554          *----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜视频在线| 亚洲国产人成综合网站| 欧美日韩国产123区| 91免费视频观看| 91免费观看视频在线| 91免费看片在线观看| 一道本成人在线| 欧美在线你懂的| 欧美婷婷六月丁香综合色| 91在线云播放| 欧美日韩三级在线| 91精品国产欧美一区二区18 | 亚洲精选视频免费看| 国产精品久久看| 一区二区三区国产| 亚洲国产精品麻豆| 久久不见久久见免费视频7 | av在线播放成人| 91丨porny丨中文| 欧美日韩一二三| 日韩精品一区二区三区视频在线观看| 欧美va亚洲va在线观看蝴蝶网| 26uuu另类欧美亚洲曰本| 337p日本欧洲亚洲大胆色噜噜| 国产日产欧美一区二区三区| 亚洲人吸女人奶水| 五月天婷婷综合| 粗大黑人巨茎大战欧美成人| 91麻豆国产在线观看| 91精品国产一区二区三区香蕉| 精品三级在线看| 亚洲精品日产精品乱码不卡| 日本伊人色综合网| 99在线视频精品| 91麻豆精品国产91久久久久| 中文欧美字幕免费| 日精品一区二区| av欧美精品.com| 日韩精品一区二区在线| 亚洲蜜桃精久久久久久久| 另类小说欧美激情| 日本高清无吗v一区| 久久精品亚洲精品国产欧美kt∨| 一区二区视频免费在线观看| 国产一区二区三区最好精华液| 91蜜桃网址入口| 国产亚洲成年网址在线观看| 五月婷婷另类国产| 99天天综合性| 久久久.com| 日本aⅴ精品一区二区三区| 91蜜桃在线观看| 中文字幕精品一区| 国产在线精品一区二区夜色| 欧美精品久久一区二区三区 | gogogo免费视频观看亚洲一| 欧美一区二区三区思思人| 亚洲欧美精品午睡沙发| 国产成人在线网站| 精品久久久久久亚洲综合网| 日本中文在线一区| 欧美日韩国产高清一区二区三区 | 久久9热精品视频| 欧美三级电影在线看| 国产精品毛片久久久久久久| 国产综合色在线| 精品粉嫩aⅴ一区二区三区四区| 视频一区二区欧美| 精品视频色一区| 亚洲国产综合在线| 欧美日韩免费在线视频| 亚洲精品一二三| 色综合久久久久久久| ㊣最新国产の精品bt伙计久久| 成人性生交大合| 国产精品蜜臀在线观看| 99精品在线观看视频| 国产精品高潮呻吟| 99re视频精品| 一区二区激情视频| 欧美日韩一区二区三区在线| 亚洲第一狼人社区| 欧美日韩不卡一区二区| 蜜臀av一区二区| www国产成人免费观看视频 深夜成人网| 蜜桃精品在线观看| 精品成人一区二区三区四区| 国产一区高清在线| 国产欧美1区2区3区| 成人av午夜电影| 亚洲精品少妇30p| 欧美三级视频在线| 黄页网站大全一区二区| 国产亚洲精久久久久久| 色婷婷狠狠综合| 日韩精品1区2区3区| 久久综合国产精品| 一本大道久久精品懂色aⅴ| 亚洲综合激情网| 91精品国产综合久久国产大片| 国产一区二区三区精品视频| 亚洲欧洲精品天堂一级| 欧美日韩一区二区三区视频| 另类调教123区| **网站欧美大片在线观看| 欧美日韩1区2区| 成人免费视频视频| 亚洲成人综合网站| 国产日产欧美一区| 欧美日韩mp4| 丁香一区二区三区| 午夜精品久久一牛影视| 国产天堂亚洲国产碰碰| 欧美日韩在线直播| 风间由美中文字幕在线看视频国产欧美 | 欧美色视频一区| 国产成人在线看| 亚洲v日本v欧美v久久精品| 久久久美女毛片| 欧美日韩成人高清| 99久久精品国产麻豆演员表| 麻豆视频一区二区| 亚洲综合免费观看高清完整版| 久久精品一区二区三区四区| 欧美色国产精品| av亚洲精华国产精华精华| 久久99精品国产麻豆婷婷| 亚洲国产日韩a在线播放性色| 国产午夜精品久久久久久免费视| 欧美亚一区二区| av成人免费在线| 国产69精品久久久久777| 美女脱光内衣内裤视频久久网站| 亚洲一二三四在线观看| ...中文天堂在线一区| 久久婷婷国产综合国色天香| 91精品中文字幕一区二区三区| 日本精品视频一区二区| 国产精品一区二区你懂的| 免费观看成人av| 日韩精品色哟哟| 亚洲午夜三级在线| 一区二区三区四区五区视频在线观看| 国产欧美日韩另类视频免费观看| 精品国产露脸精彩对白| 欧美v日韩v国产v| 日韩欧美黄色影院| 欧美一级黄色大片| 日韩欧美一区二区久久婷婷| 91精品国产91久久久久久一区二区| 欧美视频一区二区| 欧美亚洲自拍偷拍| 欧美性生活大片视频| 欧美日韩亚洲综合| 欧美日韩免费观看一区三区| 欧美亚洲一区三区| 欧美日韩精品福利| 欧美精品九九99久久| 51久久夜色精品国产麻豆| 91精品国产综合久久久蜜臀图片| 欧美日韩高清一区| 欧美三级乱人伦电影| 欧美一区二区私人影院日本| 91精品国产综合久久婷婷香蕉 | 日韩vs国产vs欧美| 蜜臀av一区二区三区| 国产在线视视频有精品| 国产精品99久久久久久久vr| 粉嫩一区二区三区在线看| 91丨porny丨户外露出| 在线观看一区不卡| 欧美一区二区三区在线看| 欧美精品一区视频| 国产亚洲女人久久久久毛片| 国产精品久久毛片a| 亚洲一区免费视频| 奇米一区二区三区| 懂色一区二区三区免费观看| 91福利在线看| 日韩精品专区在线影院重磅| 中文一区二区完整视频在线观看| 国产精品视频第一区| 亚洲电影中文字幕在线观看| 激情五月婷婷综合网| 99久久免费精品高清特色大片| 欧美视频精品在线观看| 日韩你懂的在线播放| 中文字幕一区免费在线观看| 亚洲午夜一区二区三区| 国产精品亚洲人在线观看| 日本韩国一区二区| 久久色成人在线| 一卡二卡三卡日韩欧美| 韩国成人精品a∨在线观看| 91美女片黄在线| 久久无码av三级| 免费一级欧美片在线观看| 91丨九色丨蝌蚪富婆spa| 精品欧美一区二区在线观看| 怡红院av一区二区三区|