⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctrlreq.lst

📁 SdCard_V2.1TinyFatFs.rar是单片机实现SD卡功能的FAT文件系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
 330   2                  if (HighSpeed)                                      //Jason 08/28/2006
 331   2                  {
 332   3                                      HighSpeedConfigDscr[1] = DSCR_CONFIGURATION;//Kimi 12/19/2006-For chapter9 test!
 333   3                      GD_ConfigDscr();
 334   3                  }
 335   2                  else
 336   2                  {   
 337   3                                      FullSpeedConfigDscr[1] = DSCR_CONFIGURATION;//Kimi 12/19/2006-For chapter9 test!
 338   3                      GD_OtherConfigDscr();
 339   3                  } 
 340   2                  break;
 341   2              case GD_STRING:
 342   2                  GD_String();
 343   2                  break;
 344   2              case GD_DEVICE_QUALIFIER:
 345   2                  GD_DeviceQualDscr();
 346   2                  break;
 347   2              case GD_OTHER_SPEED_CONFIGURATION:
 348   2                  if (!HighSpeed)                                     //Jason 08/28/2006
 349   2                  {
 350   3                                      HighSpeedConfigDscr[1] = DSCR_OTHER_SPEED_CONFIGURATION;//Kimi 12/19/2006-For chapter9 test!
 351   3                      GD_ConfigDscr();
 352   3                  }
 353   2                  else   
 354   2                  {
 355   3                                      FullSpeedConfigDscr[1] = DSCR_OTHER_SPEED_CONFIGURATION;//Kimi 12/19/2006-For chapter9 test!
 356   3                      GD_OtherConfigDscr();
 357   3                  }    
 358   2                  break;
 359   2              default:
 360   2                  USB_STALL_EP0();
 361   2                  break;
 362   2          }
 363   1      }
 364          /*$PAGE*/
C51 COMPILER V7.02b   CTRLREQ                                                              02/27/2008 12:54:49 PAGE 7   

 365          
 366          /*
 367          *********************************************************************************************************
 368          *                                             DR_GETCONFIGURATION
 369          *
 370          * Description: Get configuration
 371          *
 372          * Arguments  : none
 373          *
 374          * Returns    : none
 375          *********************************************************************************************************
 376          */
 377          void  DR_GetConfiguration (void)
 378          {
 379   1          EP0TXCNT    = 1;
 380   1          EP0TXDAT    = Configuration;
 381   1          EP0TXCS     = EP0TXCS | bmTX0_EN;
 382   1      }
 383          /*$PAGE*/
 384          
 385          /*
 386          *********************************************************************************************************
 387          *                                             DR_SETCONFIGURATION
 388          *
 389          * Description: Set configuration
 390          *
 391          * Arguments  : none
 392          *
 393          * Returns    : none
 394          *********************************************************************************************************
 395          */
 396          void  DR_SetConfiguration (void)
 397          {
 398   1          Configuration   = SetupData[2];
 399   1          EP0TXCNT        = 0;
 400   1          EP0TXCS         = EP0TXCS | bmTX0_EN;
 401   1      }
 402          /*$PAGE*/
 403          
 404          /*
 405          *********************************************************************************************************
 406          *                                             DR_GETINTERFACE
 407          *
 408          * Description: Get interface
 409          *
 410          * Arguments  : none
 411          *
 412          * Returns    : none
 413          *********************************************************************************************************
 414          */
 415          void  DR_GetInterface (void)
 416          {
 417   1          EP0TXCNT    = 1;                                   // Write data length
 418   1          EP0TXDAT    = AlternateSetting;                    // Write data
 419   1          EP0TXCS     = EP0TXCS | bmTX0_EN;                  // Enable TX
 420   1      }
 421          /*$PAGE*/
 422          
 423          /*
 424          *********************************************************************************************************
 425          *                                             DR_SETINTERFACE
 426          *
C51 COMPILER V7.02b   CTRLREQ                                                              02/27/2008 12:54:49 PAGE 8   

 427          * Description: Set interface
 428          *
 429          * Arguments  : none
 430          *
 431          * Returns    : none
 432          *********************************************************************************************************
 433          */
 434          void  DR_SetInterface (void)
 435          {
 436   1          AlternateSetting    = SetupData[2];
 437   1          EP0TXCNT            = 0;
 438   1          EP0TXCS             = EP0TXCS | bmTX0_EN;
 439   1      }
 440          /*$PAGE*/
 441          
 442          /*
 443          *********************************************************************************************************
 444          *                                             GD_DEVICEDSCR
 445          *
 446          * Description: Get device descriptor
 447          *
 448          * Arguments  : none
 449          *
 450          * Returns    : none
 451          *********************************************************************************************************
 452          */
 453          void  GD_DeviceDscr (void)
 454          {
 455   1          INT8U   i = 0, count;
 456   1      
 457   1          count               = SetupData[6];
 458   1          if (count > DSCR_DEVICE_LEN)
 459   1          {
 460   2              count           = DSCR_DEVICE_LEN;
 461   2          }
 462   1          /*if (USBFADDR == 0)
 463   1          {
 464   1              count           = 8;
 465   1          }*/
 466   1          EP0TXCNT            = count;
 467   1          while (count)
 468   1          {
 469   2              EP0TXDAT        = DeviceDscr[i];
 470   2              i++;
 471   2              count--;
 472   2          }
 473   1          EP0TXCS             = EP0TXCS | bmTX0_EN;
 474   1          while (EP0TXCS & bmTX0_EN);
 475   1      }
 476          /*$PAGE*/
 477          
 478          /*
 479          *********************************************************************************************************
 480          *                                             GD_DEVICEQUALDSCR
 481          *
 482          * Description: Get device qualifier descriptor
 483          *
 484          * Arguments  : none
 485          *
 486          * Returns    : none
 487          *********************************************************************************************************
 488          */
C51 COMPILER V7.02b   CTRLREQ                                                              02/27/2008 12:54:49 PAGE 9   

 489          void  GD_DeviceQualDscr (void)
 490          {
 491   1          INT8U   i = 0, count;
 492   1      
 493   1          count               = SetupData[6];
 494   1          if (count > DSCR_DEVICE_QUALIFIER_LEN)
 495   1          {
 496   2              count           = DSCR_DEVICE_QUALIFIER_LEN;
 497   2          }
 498   1          EP0TXCNT            = count;
 499   1          while (count)
 500   1          {
 501   2              EP0TXDAT        = DeviceQualDscr[i];
 502   2              i++;
 503   2              count--;
 504   2          }
 505   1          EP0TXCS             = EP0TXCS | bmTX0_EN;
 506   1          while (EP0TXCS & bmTX0_EN);
 507   1      }
 508          /*$PAGE*/
 509          
 510          /*
 511          *********************************************************************************************************
 512          *                                             GD_CONFIGDSCR
 513          *
 514          * Description: Get config descriptor
 515          *
 516          * Arguments  : none
 517          *
 518          * Returns    : none
 519          *********************************************************************************************************
 520          */
 521          void  GD_ConfigDscr (void)
 522          {
 523   1          INT8U   i = 0, count;
 524   1      
 525   1          count               = SetupData[6];
 526   1          if (count > DSCR_CONFIGURATION_TOTALLEN)
 527   1          {
 528   2              count           = DSCR_CONFIGURATION_TOTALLEN;
 529   2          }
 530   1          EP0TXCNT            = count;
 531   1          while (count)
 532   1          {
 533   2              EP0TXDAT        = HighSpeedConfigDscr[i];
 534   2              i++;
 535   2              count--;
 536   2          }
 537   1          EP0TXCS             = EP0TXCS | bmTX0_EN;
 538   1          while (EP0TXCS & bmTX0_EN);
 539   1      }
 540          /*$PAGE*/
 541          
 542          /*
 543          *********************************************************************************************************
 544          *                                             GD_OTHERCONFIGDSCR
 545          *
 546          * Description: Get other configuration descriptor
 547          *
 548          * Arguments  : none
 549          *
 550          * Returns    : none
C51 COMPILER V7.02b   CTRLREQ                                                              02/27/2008 12:54:49 PAGE 10  

 551          *********************************************************************************************************
 552          */
 553          void  GD_OtherConfigDscr (void)
 554          {
 555   1          INT8U   i = 0, count;
 556   1      
 557   1          count               = SetupData[6];
 558   1          if (count > DSCR_CONFIGURATION_TOTALLEN)
 559   1          {
 560   2              count           = DSCR_CONFIGURATION_TOTALLEN;
 561   2          }
 562   1          EP0TXCNT            = count;
 563   1          while (count)
 564   1          {
 565   2              EP0TXDAT        = FullSpeedConfigDscr[i];
 566   2              i++;
 567   2              count--;
 568   2          }
 569   1          EP0TXCS             = EP0TXCS | bmTX0_EN;
 570   1          while (EP0TXCS & bmTX0_EN);
 571   1      }
 572          /*$PAGE*/
 573          
 574          /*
 575          *********************************************************************************************************
 576          *                                             GD_STRING
 577          *
 578          * Description: Get string
 579          *
 580          * Arguments  : none
 581          *
 582          * Returns    : none
 583          *********************************************************************************************************
 584          */
 585          void  GD_String (void)
 586          {
 587   1          INT8U   i = 0, count;
 588   1      
 589   1          count               = SetupData[6];
 590   1          switch (SetupData[2])
 591   1          {
 592   2              case 0:
 593   2                  if (count > DSCR_STRING0_LEN)
 594   2                  {
 595   3                      count   = DSCR_STRING0_LEN;
 596   3                  }
 597   2                  EP0TXCNT            = count;
 598   2                  while (count)
 599   2                  {
 600   3                      EP0TXDAT        = StringDscr0[i];
 601   3                      i++;
 602   3                      count--;
 603   3                  }
 604   2                  break;
 605   2              case 1:
 606   2                  if (count > DSCR_STRING1_LEN)
 607   2                  {
 608   3                      count   = DSCR_STRING1_LEN;
 609   3                  }
 610   2                  EP0TXCNT            = count;
 611   2                  while (count)
 612   2                  {
C51 COMPILER V7.02b   CTRLREQ                                                              02/27/2008 12:54:49 PAGE 11  

 613   3                      EP0TXDAT        = StringDscr1[i];
 614   3                      i++;
 615   3                      count--;
 616   3                  }
 617   2                  break;
 618   2              case 2:
 619   2                  if (count > DSCR_STRING2_LEN)
 620   2                  {
 621   3                      count   = DSCR_STRING2_LEN;
 622   3                  }
 623   2                  EP0TXCNT            = count;
 624   2                  while (count)
 625   2                  {
 626   3                      EP0TXDAT        = StringDscr2[i];
 627   3                      i++;
 628   3                      count--;
 629   3                  }
 630   2                  break;
 631   2              case 3:
 632   2                  if (count > DSCR_STRING3_LEN)
 633   2                  {
 634   3                      count   = DSCR_STRING3_LEN;
 635   3                  }
 636   2                  EP0TXCNT            = count;
 637   2                  while (count)
 638   2                  {
 639   3                      EP0TXDAT        = StringDscr3[i];
 640   3                      i++;
 641   3                      count--;
 642   3                  }
 643   2                  break;
 644   2              default:
 645   2                  EP0TXCNT            = 0;
 646   2                  break;
 647   2          }
 648   1          EP0TXCS             = EP0TXCS | bmTX0_EN;
 649   1          while (EP0TXCS & bmTX0_EN);
 650   1      }
 651          /*$PAGE*/
 652          


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


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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -