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

📄 ctrlreq.lst

📁 FS7805 使用APLIF的demoFS7805 使用APLIF的demo
💻 LST
📖 第 1 页 / 共 3 页
字号:
 569   2              while (EP0TXCS & bmTX0_EN);
 570   2          }
 571   1      }
 572          /*$PAGE*/
 573          
 574          /*
 575          *********************************************************************************************************
 576          *                                             GD_DEVICEQUALDSCR
 577          *
 578          * Description: Get device qualifier descriptor
 579          *
 580          * Arguments  : none
 581          *
 582          * Returns    : none
 583          *********************************************************************************************************
 584          */
 585          void  GD_DeviceQualDscr (void)
 586          {
 587   1          BOOLEAN ShortPacket;
 588   1          INT8U   i = 0, j, count, SendSize;
 589   1      
 590   1          count               = SetupData[6];
 591   1          ShortPacket         = FALSE;
 592   1          if (count > DSCR_DEVICE_QUALIFIER_LEN)
 593   1          {
 594   2              count           = DSCR_DEVICE_QUALIFIER_LEN;
 595   2              ShortPacket     = TRUE;
 596   2          }
 597   1      
 598   1          while (count)
 599   1          {
 600   2              if (count < PacketSize)
 601   2              {
 602   3                  SendSize    = count;
 603   3              }
 604   2              else
 605   2              {
 606   3                  SendSize    = PacketSize;
 607   3              }
 608   2              count           = count - SendSize;
 609   2              for (j = 0; j < SendSize; j++)
 610   2              {
 611   3                  EP0TXDAT    = DeviceQualDscr[i++];
 612   3              }
C51 COMPILER V7.50   CTRLREQ                                                               04/17/2007 10:42:46 PAGE 11  

 613   2              EP0TXCNT        = SendSize;
 614   2              EP0TXCS         = EP0TXCS | bmTX0_EN;
 615   2              while (EP0TXCS & bmTX0_EN);
 616   2          }
 617   1          if (ShortPacket && (SendSize == PacketSize))
 618   1          {
 619   2              EP0TXCNT        = 0;
 620   2              EP0TXCS         = EP0TXCS | bmTX0_EN;
 621   2              while (EP0TXCS & bmTX0_EN);
 622   2          }
 623   1      }
 624          /*$PAGE*/
 625          
 626          /*
 627          *********************************************************************************************************
 628          *                                             GD_CONFIGDSCR
 629          *
 630          * Description: Get config descriptor
 631          *
 632          * Arguments  : none
 633          *
 634          * Returns    : none
 635          *********************************************************************************************************
 636          */
 637          void  GD_ConfigDscr (void)
 638          {
 639   1          BOOLEAN ShortPacket;
 640   1          INT8U   i = 0, j, count, SendSize;
 641   1      
 642   1          count               = SetupData[6];
 643   1          ShortPacket         = FALSE;
 644   1          if (count > DSCR_CONFIGURATION_TOTALLEN)
 645   1          {
 646   2              count           = DSCR_CONFIGURATION_TOTALLEN;
 647   2              ShortPacket     = TRUE;
 648   2          }
 649   1      
 650   1          while (count)
 651   1          {
 652   2              if (count < PacketSize)
 653   2              {
 654   3                  SendSize    = count;
 655   3              }
 656   2              else
 657   2              {
 658   3                  SendSize    = PacketSize;
 659   3              }
 660   2              count           = count - SendSize;
 661   2              for (j = 0; j < SendSize; j++)
 662   2              {
 663   3                  EP0TXDAT    = HighSpeedConfigDscr[i++];
 664   3              }
 665   2              EP0TXCNT        = SendSize;
 666   2              EP0TXCS         = EP0TXCS | bmTX0_EN;
 667   2              while (EP0TXCS & bmTX0_EN);
 668   2          }
 669   1          if (ShortPacket && (SendSize == PacketSize))
 670   1          {
 671   2              EP0TXCNT        = 0;
 672   2              EP0TXCS         = EP0TXCS | bmTX0_EN;
 673   2              while (EP0TXCS & bmTX0_EN);
 674   2          }
C51 COMPILER V7.50   CTRLREQ                                                               04/17/2007 10:42:46 PAGE 12  

 675   1      }
 676          /*$PAGE*/
 677          
 678          /*
 679          *********************************************************************************************************
 680          *                                             GD_OTHERCONFIGDSCR
 681          *
 682          * Description: Get other configuration descriptor
 683          *
 684          * Arguments  : none
 685          *
 686          * Returns    : none
 687          *********************************************************************************************************
 688          */
 689          void  GD_OtherConfigDscr (void)
 690          {
 691   1          BOOLEAN ShortPacket;
 692   1          INT8U   i = 0, j, count, SendSize;
 693   1      
 694   1          count               = SetupData[6];
 695   1          ShortPacket         = FALSE;
 696   1          if (count > DSCR_CONFIGURATION_TOTALLEN)
 697   1          {
 698   2              count           = DSCR_CONFIGURATION_TOTALLEN;
 699   2              ShortPacket     = TRUE;
 700   2          }
 701   1      
 702   1          while (count)
 703   1          {
 704   2              if (count < PacketSize)
 705   2              {
 706   3                  SendSize    = count;
 707   3              }
 708   2              else
 709   2              {
 710   3                  SendSize    = PacketSize;
 711   3              }
 712   2              count           = count - SendSize;
 713   2              for (j = 0; j < SendSize; j++)
 714   2              {
 715   3                  EP0TXDAT    = FullSpeedConfigDscr[i++];
 716   3              }
 717   2              EP0TXCNT        = SendSize;
 718   2              EP0TXCS         = EP0TXCS | bmTX0_EN;
 719   2              while (EP0TXCS & bmTX0_EN);
 720   2          }
 721   1          if (ShortPacket && (SendSize == PacketSize))
 722   1          {
 723   2              EP0TXCNT        = 0;
 724   2              EP0TXCS         = EP0TXCS | bmTX0_EN;
 725   2              while (EP0TXCS & bmTX0_EN);
 726   2          }
 727   1      }
 728          /*$PAGE*/
 729          
 730          /*
 731          *********************************************************************************************************
 732          *                                             GD_STRING
 733          *
 734          * Description: Get string
 735          *
 736          * Arguments  : none
C51 COMPILER V7.50   CTRLREQ                                                               04/17/2007 10:42:46 PAGE 13  

 737          *
 738          * Returns    : none
 739          *********************************************************************************************************
 740          */
 741          void  GD_String (void)
 742          {
 743   1          BOOLEAN ShortPacket;
 744   1          INT8U   i = 0, j, count, SendSize;
 745   1      
 746   1          count               = SetupData[6];
 747   1          ShortPacket         = FALSE;
 748   1          switch (SetupData[2])
 749   1          {
 750   2              case 0:
 751   2                  if (count > DSCR_STRING0_LEN)
 752   2                  {
 753   3                      count           = DSCR_STRING0_LEN;
 754   3                      ShortPacket     = TRUE;
 755   3                  }
 756   2      
 757   2                  while (count)
 758   2                  {
 759   3                      if (count < PacketSize)
 760   3                      {
 761   4                          SendSize    = count;
 762   4                      }
 763   3                      else
 764   3                      {
 765   4                          SendSize    = PacketSize;
 766   4                      }
 767   3                      count           = count - SendSize;
 768   3                      for (j = 0; j < SendSize; j++)
 769   3                      {
 770   4                          EP0TXDAT    = StringDscr0[i++];
 771   4                      }
 772   3                      EP0TXCNT        = SendSize;
 773   3                      EP0TXCS         = EP0TXCS | bmTX0_EN;
 774   3                      while (EP0TXCS & bmTX0_EN);
 775   3                  }
 776   2                  break;
 777   2              case 1:
 778   2                  if (count > DSCR_STRING1_LEN)
 779   2                  {
 780   3                      count           = DSCR_STRING1_LEN;
 781   3                      ShortPacket     = TRUE;
 782   3                  }
 783   2      
 784   2                  while (count)
 785   2                  {
 786   3                      if (count < PacketSize)
 787   3                      {
 788   4                          SendSize    = count;
 789   4                      }
 790   3                      else
 791   3                      {
 792   4                          SendSize    = PacketSize;
 793   4                      }
 794   3                      count           = count - SendSize;
 795   3                      for (j = 0; j < SendSize; j++)
 796   3                      {
 797   4                          EP0TXDAT    = StringDscr1[i++];
 798   4                      }
C51 COMPILER V7.50   CTRLREQ                                                               04/17/2007 10:42:46 PAGE 14  

 799   3                      EP0TXCNT        = SendSize;
 800   3                      EP0TXCS         = EP0TXCS | bmTX0_EN;
 801   3                      while (EP0TXCS & bmTX0_EN);
 802   3                  }
 803   2                  break;
 804   2              case 2:
 805   2                  if (count > DSCR_STRING2_LEN)
 806   2                  {
 807   3                      count           = DSCR_STRING2_LEN;
 808   3                      ShortPacket     = TRUE;
 809   3                  }
 810   2      
 811   2                  while (count)
 812   2                  {
 813   3                      if (count < PacketSize)
 814   3                      {
 815   4                          SendSize    = count;
 816   4                      }
 817   3                      else
 818   3                      {
 819   4                          SendSize    = PacketSize;
 820   4                      }
 821   3                      count           = count - SendSize;
 822   3                      for (j = 0; j < SendSize; j++)
 823   3                      {
 824   4                          EP0TXDAT    = StringDscr2[i++];
 825   4                      }
 826   3                      EP0TXCNT        = SendSize;
 827   3                      EP0TXCS         = EP0TXCS | bmTX0_EN;
 828   3                      while (EP0TXCS & bmTX0_EN);
 829   3                  }
 830   2                  break;
 831   2              default:
 832   2                  USB_STALL_EP0();
 833   2                  return;
 834   2          }
 835   1          if (ShortPacket && (SendSize == PacketSize))
 836   1          {
 837   2              EP0TXCNT        = 0;
 838   2              EP0TXCS         = EP0TXCS | bmTX0_EN;
 839   2              while (EP0TXCS & bmTX0_EN);
 840   2          }
 841   1      }
 842          /*$PAGE*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1755    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    148    ----
   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 + -