Microchip Technology DV164139 Data Sheet

Page of 54
© 2009 Microchip Technology Inc.
DS41356B-page 17
EXAMPLE 2-5: 
REPORT DESCRIPTOR FOR LAB 1
The descriptor definitions are now complete.
21. Compile the project. There should be no errors.
Testing The Application
22. Configure the Low Pin Count USB Development Board so that the J14 jumper is 
on the two right-most pins. This application will use power supplied by V
BUS
 off 
of the USB cable.
23. Disconnect the J12 jumper.
24. Connect the PICkit 2 programmer to the PC USB port and then to the J6 
connector on the Low Pin Count USB Development Board.
25. Open the PICkit 2 programmer environment by selecting Start>Programs>Micro-
chip PICkit 2 vx.xx.
26. The PICkit 2 programmer software should recognize that the PICkit 2 is 
connected and identify the PIC18F14K50 device.
27. Within the PICkit 2 programmer software, navigate to the 
C:\LPCUSBDK_Labs\Lab1_files\output 
folder and download the 
Project Lab 1.hex
 file to the PIC18F14K50.
28. Disconnect the PICkit 2 programmer from J6 and plug the USB cable into the 
mini B connector, J1.
Once connected, the enumeration process should begin. The Host PC should 
recognize the connection of a new device and display a notification at the right 
corner of the screen indicating the “Mouse Enumeration Demo” text placed in the 
product string earlier in this lab.
0x05, 0x01, /*  Usage Page (Generic Desktop)*/
0x09, 0x02, /*  Usage (Mouse)*/
0xA1, 0x01, /*  Collection (Application)*/
0x09, 0x01, /*  Usage (Pointer)*/
0xA1, 0x00, /*  Collection (Physical)*/
0x05, 0x09, /*  Usage Page (Buttons) */
0x19, 0x01, /*  Usage Minimum (01)*/
0x29, 0x03, /*  Usage Maximum (03)*/
0x15, 0x00, /*  Logical Minimum (0)*/
0x25, 0x01, /*  Logical Maximum (0)*/
0x95, 0x03, /*  Report Count (3)*/
0x75, 0x01, /*  Report Size (1)*/
0x81, 0x02, /*  Input (Data, Variable, Absolute)*/
0x95, 0x01, /*  Report Count (1)*/
0x75, 0x05, /*  Report Size (5)*/
0x81, 0x01, /*  Input (Constant)    ;5 bit padding  */
0x05, 0x01, /*  Usage Page (Generic Desktop)*/
0x09, 0x30, /*  Usage (X)*/
0x09, 0x31, /*  Usage (Y)*/
0x15, 0x81, /*  Logical Minimum (-127)*/
0x25, 0x7F, /*  Logical Maximum (127)*/
0x75, 0x08, /*  Report Size (8)*/
0x95, 0x02, /*  Report Count (2)*/
0x81, 0x06, /*  Input (Data, Variable, Relative)*/
0xC0, 0xC0