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

📄 f3xx_usb0_standard_requests.lst

📁 HID Mouse source code 屬於Silabs C8051F326/F327,可以做一個USB 鼠標
💻 LST
📖 第 1 页 / 共 3 页
字号:
 483          //
 484          // Standard request that should not change in custom HID designs.
 485          //
 486          //-----------------------------------------------------------------------------
 487          void Set_Configuration (void)          // This routine allows host to change
 488          {                                      // current device configuration value
 489   1      
 490   1         // Device must be addressed before configured
 491   1         if ((USB0_STATE == DEV_DEFAULT) ||
 492   1         // and request recipient must be the device
 493   1         (SETUP.bmRequestType != IN_DEVICE) ||
 494   1         // the index and length words must be zero
 495   1         SETUP.wIndex.c[MSB]  || SETUP.wIndex.c[LSB]||
 496   1         SETUP.wLength.c[MSB] || SETUP.wLength.c[LSB] ||
 497   1         SETUP.wValue.c[MSB]  || (SETUP.wValue.c[LSB] > 1))
 498   1         // This software only supports config = 0,1
 499   1         {
 500   2            Force_Stall ();                  // Send stall if SETUP data is invalid
 501   2         }
 502   1      
 503   1         else
 504   1         {
 505   2            if (SETUP.wValue.c[LSB] > 0)     // Any positive configuration request
 506   2            {                                // results in configuration being set
 507   3                                                                         // to 1
 508   3               USB0_STATE = DEV_CONFIGURED;
 509   3               EP_STATUS[1] = EP_IDLE;       // Set endpoint status to idle (enabled)
 510   3      
 511   3               POLL_WRITE_BYTE (INDEX, 1);   // Change index to endpoint 1
*** ERROR C202 IN LINE 511 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 511 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 511 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
C51 COMPILER V7.50   F3XX_USB0_STANDARD_REQUESTS                                           06/22/2006 17:45:49 PAGE 10  

 512   3               // Set DIRSEL to indicate endpoint 1 is IN/OUT
 513   3               POLL_WRITE_BYTE (EINCSR2, rbInSPLIT);
*** ERROR C202 IN LINE 513 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 513 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 513 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 514   3               POLL_WRITE_BYTE (INDEX, 0);   // Set index back to endpoint 0
*** ERROR C202 IN LINE 514 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 514 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 514 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 515   3      
 516   3               Handle_In1();
 517   3            }
 518   2            else
 519   2            {
 520   3               USB0_STATE = DEV_ADDRESS;     // Unconfigures device by setting state
 521   3               EP_STATUS[1] = EP_HALT;       // to address, and changing endpoint
 522   3                                             // 1 and 2
 523   3            }
 524   2         }
 525   1         if (EP_STATUS[0] != EP_STALL)
 526   1         {
 527   2            POLL_WRITE_BYTE (E0CSR, (rbSOPRDY | rbDATAEND));
*** ERROR C202 IN LINE 527 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 527 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 527 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 528   2                                             // Indicate SETUP packet has been
 529   2                                             // serviced
 530   2         }
 531   1      }
 532          
 533          //-----------------------------------------------------------------------------
 534          // Get_Interface
 535          //-----------------------------------------------------------------------------
 536          //
 537          // Return Value - None
 538          // Parameters - Non
 539          //
 540          // Standard request that should not change in custom HID designs.
 541          //
 542          //-----------------------------------------------------------------------------
 543          void Get_Interface (void)              // This routine returns 0x00, since
 544          {                                      // only one interface is supported by
 545   1                                                 // this firmware
 546   1      
 547   1         // If device is not configured
 548   1         if ((USB0_STATE != DEV_CONFIGURED) ||
 549   1         // or recipient is not an interface
 550   1         (SETUP.bmRequestType != OUT_INTERFACE) ||
 551   1         // or non-zero value or index fields
 552   1         SETUP.wValue.c[MSB]  ||SETUP.wValue.c[LSB] ||
 553   1         // or data length not equal to one
 554   1         SETUP.wIndex.c[MSB]  ||SETUP.wIndex.c[LSB] ||
 555   1         SETUP.wLength.c[MSB] ||(SETUP.wLength.c[LSB] != 1))
 556   1         {
 557   2            Force_Stall ();                  // Then return stall due to invalid
 558   2                                                                         // request
 559   2         }
 560   1      
 561   1         else
 562   1         {
 563   2                // Otherwise, return 0x00 to host
 564   2            DATAPTR = (unsigned char*)&ZERO_PACKET;
C51 COMPILER V7.50   F3XX_USB0_STANDARD_REQUESTS                                           06/22/2006 17:45:49 PAGE 11  

 565   2            DATASIZE = 1;
 566   2         }
 567   1         if (EP_STATUS[0] != EP_STALL)
 568   1         {
 569   2                // Set Serviced SETUP packet, put endpoint in transmit mode and reset
 570   2                // Data sent counter
 571   2            POLL_WRITE_BYTE (E0CSR, rbSOPRDY);
*** ERROR C202 IN LINE 571 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 571 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 571 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 572   2            EP_STATUS[0] = EP_TX;
 573   2            DATASENT = 0;
 574   2         }
 575   1      }
 576          
 577          //-----------------------------------------------------------------------------
 578          // Set_Interface
 579          //-----------------------------------------------------------------------------
 580          //
 581          // Return Value - None
 582          // Parameters - None
 583          //
 584          // Standard request that should not change in custom HID designs.
 585          //
 586          //-----------------------------------------------------------------------------
 587          void Set_Interface (void)
 588          {
 589   1         // Make sure request is directed at interface
 590   1         if ((SETUP.bmRequestType != IN_INTERFACE)  ||
 591   1         // and all other packet values are set to zero
 592   1         SETUP.wLength.c[MSB] ||SETUP.wLength.c[LSB]||
 593   1         SETUP.wValue.c[MSB]  ||SETUP.wValue.c[LSB] ||
 594   1         SETUP.wIndex.c[MSB]  ||SETUP.wIndex.c[LSB])
 595   1         {
 596   2            Force_Stall ();                  // Othewise send a stall to host
 597   2         }
 598   1         if (EP_STATUS[0] != EP_STALL)
 599   1         {
 600   2            POLL_WRITE_BYTE (E0CSR, (rbSOPRDY | rbDATAEND));
*** ERROR C202 IN LINE 600 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 600 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 600 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 601   2                                             // Indicate SETUP packet has been
 602   2                                             // serviced
 603   2         }
 604   1      }
 605          
 606          //-----------------------------------------------------------------------------
 607          // Get_Idle
 608          //-----------------------------------------------------------------------------
 609          // Not supported.
 610          //
 611          //-----------------------------------------------------------------------------
 612          void Get_Idle(void) {
 613   1      }
 614          
 615          //-----------------------------------------------------------------------------
 616          
 617          //-----------------------------------------------------------------------------
 618          // Get_Protocol
 619          //-----------------------------------------------------------------------------
 620          // Not supported.
C51 COMPILER V7.50   F3XX_USB0_STANDARD_REQUESTS                                           06/22/2006 17:45:49 PAGE 12  

 621          //
 622          //-----------------------------------------------------------------------------
 623          void Get_Protocol(void) { }
 624          
 625          //-----------------------------------------------------------------------------
 626          // Set_Protocol
 627          //-----------------------------------------------------------------------------
 628          // Not supported.
 629          //
 630          //-----------------------------------------------------------------------------
 631          void Set_Protocol (void) { }
 632          
 633          
 634          
 635          //-----------------------------------------------------------------------------
 636          // Set_Idle()
 637          //-----------------------------------------------------------------------------
 638          //
 639          // Return Value - None
 640          // Parameters - None
 641          //
 642          // Description: Sets the idle feature on interrupt in endpoint.
 643          //-----------------------------------------------------------------------------
 644          void Set_Idle (void)
 645          {
 646   1      
 647   1         if (EP_STATUS[0] != EP_STALL)
 648   1         {
 649   2            // Set serviced SETUP Packet
 650   2            POLL_WRITE_BYTE (E0CSR, (rbSOPRDY | rbDATAEND));
*** ERROR C202 IN LINE 650 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 650 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 650 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 651   2         }
 652   1      
 653   1      }
 654          
 655          
 656          
 657          //-----------------------------------------------------------------------------
 658          // Get_Report()
 659          //-----------------------------------------------------------------------------
 660          //
 661          // Return Value - None
 662          // Parameters - None
 663          //
 664          // Description: Sends a given report type to the host.
 665          //
 666          //-----------------------------------------------------------------------------
 667          void Get_Report (void)
 668          {
 669   1         // call appropriate handler to prepare buffer
 670   1         ReportHandler_IN_ISR(SETUP.wValue.c[LSB]);
 671   1         // set DATAPTR to buffer used inside Control Endpoint
 672   1         DATAPTR = IN_BUFFER.Ptr;
 673   1         DATASIZE = IN_BUFFER.Length;
 674   1      
 675   1         if (EP_STATUS[0] != EP_STALL)
 676   1         {
 677   2                // Set serviced SETUP Packet
 678   2            POLL_WRITE_BYTE (E0CSR, rbSOPRDY);
*** ERROR C202 IN LINE 678 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
C51 COMPILER V7.50   F3XX_USB0_STANDARD_REQUESTS                                           06/22/2006 17:45:49 PAGE 13  

*** ERROR C202 IN LINE 678 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 678 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 679   2            EP_STATUS[0] = EP_TX;            // Endpoint 0 in transmit mode
 680   2            DATASENT = 0;                    // Reset DATASENT counter
 681   2         }
 682   1      }
 683          
 684          
 685          
 686          //-----------------------------------------------------------------------------
 687          // Set_Report()
 688          //-----------------------------------------------------------------------------
 689          //
 690          // Return Value - None
 691          // Parameters - None
 692          //
 693          // Description: Receives a report sent from the host.
 694          //
 695          //-----------------------------------------------------------------------------
 696          void Set_Report (void)
 697          {
 698   1         // prepare buffer for OUT packet
 699   1         Setup_OUT_BUFFER ();
 700   1      
 701   1         // set DATAPTR to buffer
 702   1         DATAPTR = OUT_BUFFER.Ptr;
 703   1         DATASIZE = SETUP.wLength.i;
 704   1      
 705   1         if (EP_STATUS[0] != EP_STALL)
 706   1         {
 707   2                // Set serviced SETUP Packet
 708   2            POLL_WRITE_BYTE (E0CSR, rbSOPRDY);
*** ERROR C202 IN LINE 708 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 708 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0ADR': undefined identifier
*** ERROR C202 IN LINE 708 OF F3XX_USB0_STANDARD_REQUESTS.C: 'USB0DAT': undefined identifier
 709   2            EP_STATUS[0] = EP_RX;            // Endpoint 0 in transmit mode
 710   2            DATASENT = 0;                    // Reset DATASENT counter
 711   2         }
 712   1      }
 713          
 714          
 715          

C51 COMPILATION COMPLETE.  1 WARNING(S),  63 ERROR(S)

⌨️ 快捷键说明

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